summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/ModuleDependencyCollector.cpp
diff options
context:
space:
mode:
authorGeorge Burgess IV <george.burgess.iv@gmail.com>2018-05-10 18:37:54 +0000
committerGeorge Burgess IV <george.burgess.iv@gmail.com>2018-05-10 18:37:54 +0000
commit175400a801340a75c8fcd5c30924540ae84ad90f (patch)
tree654cb41c77b5a9acdc1283b0db80cb45fe0827ed /clang/lib/Frontend/ModuleDependencyCollector.cpp
parentbf5c84861c738a8ac76c95ff9c5e3dac47df339e (diff)
downloadbcm5719-llvm-175400a801340a75c8fcd5c30924540ae84ad90f.tar.gz
bcm5719-llvm-175400a801340a75c8fcd5c30924540ae84ad90f.zip
Add regression test for r331976
In general, it's difficult to poke the ConstantExpr code in CFLAA, since LLVM is so great at eagerly reducing ConstantExprs. :) Sadly, this only shows a functional difference from before the patch because CFLAA has some special logic around taking loads of non-pointers into account. Namely, with the broken select behavior, CFLAA will completely fail to take note of @g3. Since CFLAA doesn't have any record about @g3 when we do an alias query for @g3 and %a, it conservatively answers MayAlias. When we properly take @g3 into account with the new select logic, we get NoAlias for this query. I suspect that the aforementioned "special logic" isn't completely correct, but this test-case should prevent future wonky aliasing results from appearing for these flavors of ConstantExprs, so I think it's still worth having. llvm-svn: 332017
Diffstat (limited to 'clang/lib/Frontend/ModuleDependencyCollector.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud