24 lines
729 B
Text
24 lines
729 B
Text
Adapt the -mfix-loongson2f-btb workaround from as(1) to LLVM/clang.
|
|
|
|
Index: lib/Target/Mips/MipsTargetMachine.cpp
|
|
--- lib/Target/Mips/MipsTargetMachine.cpp.orig
|
|
+++ lib/Target/Mips/MipsTargetMachine.cpp
|
|
@@ -45,6 +45,8 @@ using namespace llvm;
|
|
|
|
#define DEBUG_TYPE "mips"
|
|
|
|
+extern cl::opt<bool> FixLoongson2FBTB;
|
|
+
|
|
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeMipsTarget() {
|
|
// Register the target.
|
|
RegisterTargetMachine<MipsebTargetMachine> X(getTheMipsTarget());
|
|
@@ -268,6 +270,9 @@ bool MipsPassConfig::addInstSelector() {
|
|
|
|
void MipsPassConfig::addPreRegAlloc() {
|
|
addPass(createMipsOptimizePICCallPass());
|
|
+
|
|
+ if (FixLoongson2FBTB)
|
|
+ addPass(createMipsLoongson2FBTBFix());
|
|
}
|
|
|
|
TargetTransformInfo
|