X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FCodeGen%2FIntrinsicLowering.h;h=767b666225498f4019821b016acb79ba75805a43;hb=31189373056ce12f729333c4dc16d02ad72e8e1f;hp=c28083a59f3fe09be7ea7551071dfb633563683e;hpb=6279cd85e9e59c93d43877bf2cf7d116e51ce021;p=oota-llvm.git diff --git a/include/llvm/CodeGen/IntrinsicLowering.h b/include/llvm/CodeGen/IntrinsicLowering.h index c28083a59f3..767b6662254 100644 --- a/include/llvm/CodeGen/IntrinsicLowering.h +++ b/include/llvm/CodeGen/IntrinsicLowering.h @@ -25,45 +25,12 @@ namespace llvm { class IntrinsicLowering { const TargetData& TD; - - Constant *SetjmpFCache; - Constant *LongjmpFCache; - Constant *AbortFCache; - Constant *MemcpyFCache; - Constant *MemmoveFCache; - Constant *MemsetFCache; - Constant *sqrtFCache; - Constant *sqrtDCache; - Constant *sqrtLDCache; - Constant *logFCache; - Constant *logDCache; - Constant *logLDCache; - Constant *log2FCache; - Constant *log2DCache; - Constant *log2LDCache; - Constant *log10FCache; - Constant *log10DCache; - Constant *log10LDCache; - Constant *expFCache; - Constant *expDCache; - Constant *expLDCache; - Constant *exp2FCache; - Constant *exp2DCache; - Constant *exp2LDCache; - Constant *powFCache; - Constant *powDCache; - Constant *powLDCache; + bool Warned; public: explicit IntrinsicLowering(const TargetData &td) : - TD(td), SetjmpFCache(0), LongjmpFCache(0), AbortFCache(0), - MemcpyFCache(0), MemmoveFCache(0), MemsetFCache(0), sqrtFCache(0), - sqrtDCache(0), sqrtLDCache(0), logFCache(0), logDCache(0), logLDCache(0), - log2FCache(0), log2DCache(0), log2LDCache(0), log10FCache(0), - log10DCache(0), log10LDCache(0), expFCache(0), expDCache(0), - expLDCache(0), exp2FCache(0), exp2DCache(0), exp2LDCache(0), powFCache(0), - powDCache(0), powLDCache(0), Warned(false) {} + TD(td), Warned(false) {} /// AddPrototypes - This method, if called, causes all of the prototypes /// that might be needed by an intrinsic lowering implementation to be @@ -81,6 +48,11 @@ namespace llvm { /// be capable of handling this kind of change. /// void LowerIntrinsicCall(CallInst *CI); + + /// LowerToByteSwap - Replace a call instruction into a call to bswap + /// intrinsic. Return false if it has determined the call is not a + /// simple integer bswap. + static bool LowerToByteSwap(CallInst *CI); }; }