Branch: refs/heads/master
Revision: 37cee92
Author: mppf
Log Message:
Merge pull request #17813 from mppf/fix-verify-llvm-issue
Fix Wrong types for attribute LLVM Function Verify error
E.g.
$ chpl --verify --no-local --no-inline test/memory/figueroa/LeakedMemory6.chpl
$ chpl --baseline --no-local --verify test/functions/iterators/vass/forall-in-standalone-iterator.chpl
Wrong types for attribute: ....
%chpl____wide__ddata_uint64_t (i64, i8*, i32, i64, i32)* @_ddata_allocate_noinit_chpl2
The issue here was that we were trying to add the noalias
attribute to
_ddata_allocate_noinit
but that was not well formed in --no-local
compilation because it is returning a struct (representing a wide
pointer).
This PR adjusts the code adding this attribute to only do so when the
return type is a pointer type. That will allow the noalias
attribute to
apply even with --llvm-wide-opt
.
Reviewed by @daviditen - thanks!
-
[x] full local testing
Modified Files:
M compiler/codegen/symbol.cppCompare: Comparing 5156cd4df0af...37cee926f37f · chapel-lang/chapel · GitHub