aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2017-09-03 17:18:25 +0000
committerHal Finkel <hfinkel@anl.gov>2017-09-03 17:18:25 +0000
commitc9fac9e15117a2dbfafc290ad155a3bea65e5faf (patch)
tree49f18ecd7bea1c749bb5f3cfaf1aa6775a451225 /llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
parent7954a221f3f2d896e39a6ac5f07720b37a2ed7c0 (diff)
downloadllvm-c9fac9e15117a2dbfafc290ad155a3bea65e5faf.zip
llvm-c9fac9e15117a2dbfafc290ad155a3bea65e5faf.tar.gz
llvm-c9fac9e15117a2dbfafc290ad155a3bea65e5faf.tar.bz2
[CodeGen] Treat all vector fields as mayalias
Because it is common to treat vector types as an array of their elements, or even some other type that's not the element type, and thus index into them, we can't use struct-path TBAA for these accesses. Even though we already treat all vector types as equivalent to 'char', we were using field-offset information for them with TBAA, and this renders undefined the intra-value indexing we intend to allow. Note that, although 'char' is universally aliasing, with path TBAA, we can still differentiate between access to s.a and s.b in struct { char a, b; } s;. We can't use this capability as-is for vector types. Fixes PR33967. llvm-svn: 312447
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp')
0 files changed, 0 insertions, 0 deletions