[PATCH] Remove gc.roots performCustomLowering

Manuel Jacob me at manueljacob.de
Wed Jan 28 04:22:29 PST 2015


I like the direction of this patch.  Probably medium-term the feature to add custom lowering passes should be re-added, but I'm fine if we ignore that for now.


================
Comment at: docs/GarbageCollection.rst:751
@@ -750,3 @@
-
-* ``llvm.gcwrite``: Substitute a ``store`` instruction.
-
----------------
I think these three points can stay in because they're still valid.

================
Comment at: include/llvm/CodeGen/Passes.h:520
@@ -519,4 +519,3 @@
 
-  /// GCLowering Pass - Performs target-independent LLVM IR transformations for
-  /// highly portable strategies.
-  ///
+  /// GCLowering Pass - Used by gc.root to perform it's default lowering
+  /// operations.
----------------
s/it's/its/

================
Comment at: lib/CodeGen/GCRootLowering.cpp:119
@@ -123,3 +118,3 @@
   //        runFunction time (initializeCustomLowering likely needs to change
   //        the module).
   GCModuleInfo *MI = getAnalysisIfAvailable<GCModuleInfo>();
----------------
This comment isn't true since there's no initializeCustomLowering anymore.

================
Comment at: lib/CodeGen/ShadowStackGCLowering.cpp:234
@@ +233,3 @@
+  //        (which uses a FunctionPassManager (which segfaults (not asserts) if
+  //        provided a ModulePass))).
+  Constant *GV = new GlobalVariable(*F.getParent(), FrameMap->getType(), true,
----------------
I think it's now possible to add ModulePasses to the llc pass pipeline, so changing this pass to be a ModulePass should be possible.

http://reviews.llvm.org/D7218

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list