[PATCH] D22413: [ValueTracking] Teach isSafeToSpeculativelyExecute() about the speculatable attribute

David Majnemer via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 15 11:31:07 PDT 2016


majnemer added a subscriber: majnemer.

================
Comment at: lib/Analysis/ValueTracking.cpp:3121
@@ -3120,1 +3120,3 @@
   case Instruction::Call: {
+    const CallInst *CI = cast<CallInst>(Inst);
+    const Function *Callee = CI->getCalledFunction();
----------------
I'd do `auto *` here.

================
Comment at: lib/Analysis/ValueTracking.cpp:3125-3128
@@ -3121,5 +3124,6 @@
+      return true;
     if (const IntrinsicInst *II = dyn_cast<IntrinsicInst>(Inst)) {
       switch (II->getIntrinsicID()) {
       // These synthetic intrinsics have no side-effects and just mark
       // information about their operands.
       // FIXME: There are other no-op synthetic instructions that potentially
----------------
Can a FIXME get added to mark these as speculatable in the tablegen file?


https://reviews.llvm.org/D22413





More information about the llvm-commits mailing list