summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombineInternal.h
diff options
context:
space:
mode:
authorArnaud A. de Grandmaison <arnaud.degrandmaison@arm.com>2016-05-10 09:24:49 +0000
committerArnaud A. de Grandmaison <arnaud.degrandmaison@arm.com>2016-05-10 09:24:49 +0000
commit333ef381b87c65476fb37cbb458f80c8f4d80d9c (patch)
tree4264f04c2b008aef01acef1cf0622e02694539c4 /llvm/lib/Transforms/InstCombine/InstCombineInternal.h
parent7bb1c049437b1abbf095b07bde217ac023e69643 (diff)
downloadbcm5719-llvm-333ef381b87c65476fb37cbb458f80c8f4d80d9c.tar.gz
bcm5719-llvm-333ef381b87c65476fb37cbb458f80c8f4d80d9c.zip
[InstCombine] Remove trivially empty va_start/va_end and va_copy/va_end ranges.
When a va_start or va_copy is immediately followed by a va_end (ignoring debug information or other start/end in between), then it is safe to remove the pair. As this code shares some commonalities with the lifetime markers, this has been factored to helper functions. This InstCombine pattern kicks-in 3 times when running the LLVM test suite. llvm-svn: 269033
Diffstat (limited to 'llvm/lib/Transforms/InstCombine/InstCombineInternal.h')
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineInternal.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineInternal.h b/llvm/lib/Transforms/InstCombine/InstCombineInternal.h
index b1e3881c75f..e66c89b500b 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineInternal.h
+++ b/llvm/lib/Transforms/InstCombine/InstCombineInternal.h
@@ -330,6 +330,8 @@ public:
Instruction *visitShuffleVectorInst(ShuffleVectorInst &SVI);
Instruction *visitExtractValueInst(ExtractValueInst &EV);
Instruction *visitLandingPadInst(LandingPadInst &LI);
+ Instruction *visitVAStartInst(VAStartInst &I);
+ Instruction *visitVACopyInst(VACopyInst &I);
// visitInstruction - Specify what to return for unhandled instructions...
Instruction *visitInstruction(Instruction &I) { return nullptr; }
OpenPOWER on IntegriCloud