diff options
| author | Peter Collingbourne <peter@pcc.me.uk> | 2018-09-11 01:53:36 +0000 |
|---|---|---|
| committer | Peter Collingbourne <peter@pcc.me.uk> | 2018-09-11 01:53:36 +0000 |
| commit | c7d281905b75686f09c22b466d05a715d825d8c1 (patch) | |
| tree | 700bbaad05fe4d20076554baff174dc39a3336ea /llvm/lib/IR/GVMaterializer.cpp | |
| parent | dd01efc56d7ef3a335aad3d9cfe1b53d0f8524f8 (diff) | |
| download | bcm5719-llvm-c7d281905b75686f09c22b466d05a715d825d8c1.tar.gz bcm5719-llvm-c7d281905b75686f09c22b466d05a715d825d8c1.zip | |
Prevent Constant Folding From Optimizing inrange GEP
This patch does the following things:
1. update SymbolicallyEvaluateGEP so that it bails out if it cannot preserve inrange arribute;
2. update llvm/test/Analysis/ConstantFolding/gep.ll to remove UB in it;
3. remove inaccurate comment above ConstantFoldInstOperandsImpl in llvm/lib/Analysis/ConstantFolding.cpp;
4. add a new regression test that makes sure that no optimizations change an inrange GEP in an unexpected way.
Patch by Zhaomo Yang!
Differential Revision: https://reviews.llvm.org/D51698
llvm-svn: 341888
Diffstat (limited to 'llvm/lib/IR/GVMaterializer.cpp')
0 files changed, 0 insertions, 0 deletions

