[llvm] r346632 - [GC] Remove unused configuration variable

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 11 18:34:55 PST 2018


Author: reames
Date: Sun Nov 11 18:34:54 2018
New Revision: 346632

URL: http://llvm.org/viewvc/llvm-project?rev=346632&view=rev
Log:
[GC] Remove unused configuration variable

The custom root mechanism didn't actually do anything.  ShadowStackGC, the only one which used it, just removed the gcroots before they reached the normal lowering in SelectionDAG.  As a result, the state flag had no value.


Modified:
    llvm/trunk/include/llvm/CodeGen/GCStrategy.h
    llvm/trunk/lib/CodeGen/BuiltinGCs.cpp

Modified: llvm/trunk/include/llvm/CodeGen/GCStrategy.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/GCStrategy.h?rev=346632&r1=346631&r2=346632&view=diff
==============================================================================
--- llvm/trunk/include/llvm/CodeGen/GCStrategy.h (original)
+++ llvm/trunk/include/llvm/CodeGen/GCStrategy.h Sun Nov 11 18:34:54 2018
@@ -89,7 +89,6 @@ protected:
                                /// anything but their default values.
 
   unsigned NeededSafePoints = 0;    ///< Bitmask of required safe points.
-  bool CustomRoots = false;      ///< Default is to pass through to backend.
   bool UsesMetadata = false;     ///< If set, backend must emit metadata tables.
 
 public:
@@ -132,11 +131,6 @@ public:
     return (NeededSafePoints & 1 << Kind) != 0;
   }
 
-  /// By default, roots are left for the code generator so it can generate a
-  /// stack map. If true, you must provide a custom pass to lower
-  /// calls to \@llvm.gcroot.
-  bool customRoots() const { return CustomRoots; }
-
   /// If set, appropriate metadata tables must be emitted by the back-end
   /// (assembler, JIT, or otherwise). For statepoint, this method is
   /// currently unsupported.  The stackmap information can be found in the

Modified: llvm/trunk/lib/CodeGen/BuiltinGCs.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/BuiltinGCs.cpp?rev=346632&r1=346631&r2=346632&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/BuiltinGCs.cpp (original)
+++ llvm/trunk/lib/CodeGen/BuiltinGCs.cpp Sun Nov 11 18:34:54 2018
@@ -30,7 +30,6 @@ public:
   ErlangGC() {
     NeededSafePoints = 1 << GC::PostCall;
     UsesMetadata = true;
-    CustomRoots = false;
   }
 };
 
@@ -55,9 +54,7 @@ public:
 /// while introducing only minor runtime overhead.
 class ShadowStackGC : public GCStrategy {
 public:
-  ShadowStackGC() {
-    CustomRoots = true;
-  }
+  ShadowStackGC() {}
 };
 
 /// A GCStrategy which serves as an example for the usage of a statepoint based
@@ -74,7 +71,6 @@ public:
     // gc.root lowering code doesn't run.
     NeededSafePoints = 0;
     UsesMetadata = false;
-    CustomRoots = false;
   }
 
   Optional<bool> isGCManagedPointer(const Type *Ty) const override {
@@ -107,7 +103,6 @@ public:
     // gc.root lowering code doesn't run.
     NeededSafePoints = 0;
     UsesMetadata = false;
-    CustomRoots = false;
   }
 
   Optional<bool> isGCManagedPointer(const Type *Ty) const override {




More information about the llvm-commits mailing list