add a new pass to instrument loads and stores for run-time bounds checking

move EmitGEPOffset from InstCombine to Transforms/Utils/Local.h

(a draft of this) patch reviewed by Andrew, thanks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157261 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nuno Lopes
2012-05-22 17:19:09 +00:00
parent 23e75da7e0
commit 5c525b59d5
9 changed files with 357 additions and 62 deletions

View File

@@ -325,6 +325,14 @@ Pass *createLowerAtomicPass();
//
Pass *createCorrelatedValuePropagationPass();
//===----------------------------------------------------------------------===//
//
// BoundsChecking - This pass instruments the code to perform run-time bounds
// checking on loads, stores, and other memory intrinsics.
// Penalty is the maximum run-time that is acceptable for the user.
//
FunctionPass *createBoundsCheckingPass(unsigned Penalty = 5);
//===----------------------------------------------------------------------===//
//
// ObjCARCAPElim - ObjC ARC autorelease pool elimination.