diff options
Diffstat (limited to 'lib/Bitcode/NaCl/Writer/NaClValueEnumerator.h')
-rw-r--r-- | lib/Bitcode/NaCl/Writer/NaClValueEnumerator.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Bitcode/NaCl/Writer/NaClValueEnumerator.h b/lib/Bitcode/NaCl/Writer/NaClValueEnumerator.h index 3e71740f92..22de263c4b 100644 --- a/lib/Bitcode/NaCl/Writer/NaClValueEnumerator.h +++ b/lib/Bitcode/NaCl/Writer/NaClValueEnumerator.h @@ -135,6 +135,15 @@ public: void incorporateFunction(const Function &F); void purgeFunction(); + /// \brief Returns the value after elided (cast) operations have been + /// removed. Returns V if unable to elide the cast. + const Value *ElideCasts(const Value *V); + + /// \brief Returns true if value V is an elided (cast) operation. + bool IsElidedCast(const Value *V) { + return V != ElideCasts(V); + } + private: void OptimizeTypes(const Module *M); void OptimizeConstants(unsigned CstStart, unsigned CstEnd); |