diff options
author | Chris Lattner <sabre@nondot.org> | 2011-02-09 17:15:04 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2011-02-09 17:15:04 +0000 |
commit | 81a0dc911586c77421c2255aa417dc9b350b9e20 (patch) | |
tree | f6a7b1c0a47ed7fa813cb89a3c0f5d48923bbdf5 /include/llvm/Analysis/InstructionSimplify.h | |
parent | 6bfd77e3158b10861c76529492eae24a573390a8 (diff) | |
download | llvm-81a0dc911586c77421c2255aa417dc9b350b9e20.tar.gz llvm-81a0dc911586c77421c2255aa417dc9b350b9e20.tar.bz2 llvm-81a0dc911586c77421c2255aa417dc9b350b9e20.tar.xz |
Teach instsimplify some tricks about exact/nuw/nsw shifts.
improve interfaces to instsimplify to take this info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125196 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/InstructionSimplify.h')
-rw-r--r-- | include/llvm/Analysis/InstructionSimplify.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/include/llvm/Analysis/InstructionSimplify.h b/include/llvm/Analysis/InstructionSimplify.h index 9ad7bc6e8a..dff1ba2f7b 100644 --- a/include/llvm/Analysis/InstructionSimplify.h +++ b/include/llvm/Analysis/InstructionSimplify.h @@ -57,17 +57,18 @@ namespace llvm { /// SimplifyShlInst - Given operands for a Shl, see if we can /// fold the result. If not, this returns null. - Value *SimplifyShlInst(Value *Op0, Value *Op1, const TargetData *TD = 0, - const DominatorTree *DT = 0); + Value *SimplifyShlInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW, + const TargetData *TD = 0, const DominatorTree *DT = 0); /// SimplifyLShrInst - Given operands for a LShr, see if we can /// fold the result. If not, this returns null. - Value *SimplifyLShrInst(Value *Op0, Value *Op1, const TargetData *TD = 0, - const DominatorTree *DT = 0); + Value *SimplifyLShrInst(Value *Op0, Value *Op1, bool isExact, + const TargetData *TD = 0, const DominatorTree *DT=0); /// SimplifyAShrInst - Given operands for a AShr, see if we can /// fold the result. If not, this returns null. - Value *SimplifyAShrInst(Value *Op0, Value *Op1, const TargetData *TD = 0, + Value *SimplifyAShrInst(Value *Op0, Value *Op1, bool isExact, + const TargetData *TD = 0, const DominatorTree *DT = 0); /// SimplifyAndInst - Given operands for an And, see if we can |