summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/ErlangGC.cpp
diff options
context:
space:
mode:
authorPhilip Reames <listmail@philipreames.com>2015-01-26 18:26:35 +0000
committerPhilip Reames <listmail@philipreames.com>2015-01-26 18:26:35 +0000
commit56a03938f7a536dc2cef3c42ed67b3f218a1c758 (patch)
treee999a35203421bc8cc440c5f607197ae265219be /llvm/lib/CodeGen/ErlangGC.cpp
parent39571b37a38d289f0895ca060eb1d6f579300af6 (diff)
downloadbcm5719-llvm-56a03938f7a536dc2cef3c42ed67b3f218a1c758.tar.gz
bcm5719-llvm-56a03938f7a536dc2cef3c42ed67b3f218a1c758.zip
Revert GCStrategy ownership changes
This change reverts the interesting parts of 226311 (and 227046). This change introduced two problems, and I've been convinced that an alternate approach is preferrable anyways. The bugs were: - Registery appears to require all users be within the same linkage unit. After this change, asking for "statepoint-example" in Transform/ would sometimes get you nullptr, whereas asking the same question in CodeGen would return the right GCStrategy. The correct long term fix is to get rid of the utter hack which is Registry, but I don't have time for that right now. 227046 appears to have been an attempt to fix this, but I don't believe it does so completely. - GCMetadataPrinter::finishAssembly was being called more than once per GCStrategy. Each Strategy was being added to the GCModuleInfo multiple times. Once I get time again, I'm going to split GCModuleInfo into the gc.root specific part and a GCStrategy owning Analysis pass. I'm probably also going to kill off the Registry. Once that's done, I'll move the new GCStrategyAnalysis and all built in GCStrategies into Analysis. (As original suggested by Chandler.) This will accomplish my original goal of being able to access GCStrategy from Transform/ without adding all of the builtin GCs to IR/. llvm-svn: 227109
Diffstat (limited to 'llvm/lib/CodeGen/ErlangGC.cpp')
-rw-r--r--llvm/lib/CodeGen/ErlangGC.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/ErlangGC.cpp b/llvm/lib/CodeGen/ErlangGC.cpp
index 30af07f1214..a40bbb5052a 100644
--- a/llvm/lib/CodeGen/ErlangGC.cpp
+++ b/llvm/lib/CodeGen/ErlangGC.cpp
@@ -16,7 +16,7 @@
#include "llvm/CodeGen/GCs.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
-#include "llvm/IR/GCStrategy.h"
+#include "llvm/CodeGen/GCStrategy.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Target/TargetInstrInfo.h"
OpenPOWER on IntegriCloud