[PATCH] D13606: [Introduction] Redundant load reduction with invariant intrinsics

Larisse Voufo via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 9 20:28:55 PDT 2015


lvoufo marked 4 inline comments as done.

================
Comment at: include/llvm/IR/GlobalVariable.h:48
@@ -46,1 +47,3 @@
                                                // initializers are run?
+  IntrinsicInst *InvariantStartInst;           // Transient
+
----------------
I have been troubleshooting how to do this better. Will see what I can come up with... Thanks for the pointer.

================
Comment at: include/llvm/IR/Instructions.h:79
@@ -77,1 +78,3 @@
   Type *AllocatedType;
+  IntrinsicInst *InvariantStartInst;  // Transient.
+
----------------
Same as above.

================
Comment at: lib/IR/Instructions.cpp:1155-1158
@@ -1152,1 +1154,6 @@
 
+void AllocaInst::checkInvariantStartInstruction(IntrinsicInst *II) {
+  assert((!II || II->getIntrinsicID() == Intrinsic::invariant_start) &&
+         "Given intrinsic instruction is not invariant_start");
+}
+
----------------
Good point. Thanks!

================
Comment at: lib/Transforms/IPO/GlobalOpt.cpp:2246-2249
@@ -2239,2 +2245,6 @@
 
+  /// ReadOnlys - These global variables are writeonce variables that
+  /// have been marked readonly by the static constructor.
+  SmallPtrSet<GlobalVariable *, 8> ReadOnlys;
+
   /// SimpleConstants - These are constants we have checked and know to be
----------------
True. I was using it as a temporary informational tool.


http://reviews.llvm.org/D13606





More information about the llvm-commits mailing list