Trunk fix for Rev.283004

This commit is contained in:
Andrey Shishpanov
2016-10-05 12:54:12 +03:00
parent 7fb4188f51
commit 8acfd92f92
2 changed files with 65 additions and 0 deletions

View File

@@ -462,7 +462,11 @@ namespace {
VectorConstantIndex = 0; VectorConstantIndex = 0;
} }
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9 // <= 3.9
virtual const char *getPassName() const { return "C backend"; } virtual const char *getPassName() const { return "C backend"; }
#else // LLVM 4.0+
virtual llvm::StringRef getPassName() const { return "C backend"; }
#endif
void getAnalysisUsage(llvm::AnalysisUsage &AU) const { void getAnalysisUsage(llvm::AnalysisUsage &AU) const {
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_6 // <= 3.6 #if ISPC_LLVM_VERSION <= ISPC_LLVM_3_6 // <= 3.6
@@ -4901,7 +4905,11 @@ public:
SmearCleanupPass(llvm::Module *m, int width) SmearCleanupPass(llvm::Module *m, int width)
: BasicBlockPass(ID) { module = m; vectorWidth = width; } : BasicBlockPass(ID) { module = m; vectorWidth = width; }
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9 // <= 3.9
const char *getPassName() const { return "Smear Cleanup Pass"; } const char *getPassName() const { return "Smear Cleanup Pass"; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "Smear Cleanup Pass"; }
#endif
bool runOnBasicBlock(llvm::BasicBlock &BB); bool runOnBasicBlock(llvm::BasicBlock &BB);
static char ID; static char ID;
@@ -5109,7 +5117,11 @@ public:
AndCmpCleanupPass() AndCmpCleanupPass()
: BasicBlockPass(ID) { } : BasicBlockPass(ID) { }
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9 // <= 3.9
const char *getPassName() const { return "AndCmp Cleanup Pass"; } const char *getPassName() const { return "AndCmp Cleanup Pass"; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "AndCmp Cleanup Pass"; }
#endif
bool runOnBasicBlock(llvm::BasicBlock &BB); bool runOnBasicBlock(llvm::BasicBlock &BB);
static char ID; static char ID;
@@ -5251,7 +5263,11 @@ public:
#endif #endif
} }
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9 // <= 3.9
const char *getPassName() const { return "MaskOps Cleanup Pass"; } const char *getPassName() const { return "MaskOps Cleanup Pass"; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "MaskOps Cleanup Pass"; }
#endif
bool runOnBasicBlock(llvm::BasicBlock &BB); bool runOnBasicBlock(llvm::BasicBlock &BB);
private: private:

49
opt.cpp
View File

@@ -503,8 +503,13 @@ DebugPassManager::add(llvm::Pass * P, int stage = -1) {
if (g->debug_stages.find(number) != g->debug_stages.end()) { if (g->debug_stages.find(number) != g->debug_stages.end()) {
// adding dump of LLVM IR after optimization // adding dump of LLVM IR after optimization
char buf[100]; char buf[100];
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
sprintf(buf, "\n\n*****LLVM IR after phase %d: %s*****\n\n", sprintf(buf, "\n\n*****LLVM IR after phase %d: %s*****\n\n",
number, P->getPassName()); number, P->getPassName());
#else // LLVM 4.0+
sprintf(buf, "\n\n*****LLVM IR after phase %d: %s*****\n\n",
number, P->getPassName().data());
#endif
PM.add(CreateDebugPass(buf)); PM.add(CreateDebugPass(buf));
} }
@@ -943,7 +948,11 @@ class IntrinsicsOpt : public llvm::BasicBlockPass {
public: public:
IntrinsicsOpt() : BasicBlockPass(ID) {}; IntrinsicsOpt() : BasicBlockPass(ID) {};
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
const char *getPassName() const { return "Intrinsics Cleanup Optimization"; } const char *getPassName() const { return "Intrinsics Cleanup Optimization"; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "Intrinsics Cleanup Optimization"; }
#endif
bool runOnBasicBlock(llvm::BasicBlock &BB); bool runOnBasicBlock(llvm::BasicBlock &BB);
static char ID; static char ID;
@@ -1257,7 +1266,11 @@ public:
InstructionSimplifyPass() InstructionSimplifyPass()
: BasicBlockPass(ID) { } : BasicBlockPass(ID) { }
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
const char *getPassName() const { return "Vector Select Optimization"; } const char *getPassName() const { return "Vector Select Optimization"; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "Vector Select Optimization"; }
#endif
bool runOnBasicBlock(llvm::BasicBlock &BB); bool runOnBasicBlock(llvm::BasicBlock &BB);
static char ID; static char ID;
@@ -1426,7 +1439,11 @@ public:
static char ID; static char ID;
ImproveMemoryOpsPass() : BasicBlockPass(ID) { } ImproveMemoryOpsPass() : BasicBlockPass(ID) { }
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
const char *getPassName() const { return "Improve Memory Ops"; } const char *getPassName() const { return "Improve Memory Ops"; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "Improve Memory Ops"; }
#endif
bool runOnBasicBlock(llvm::BasicBlock &BB); bool runOnBasicBlock(llvm::BasicBlock &BB);
}; };
@@ -3278,7 +3295,11 @@ public:
static char ID; static char ID;
GatherCoalescePass() : BasicBlockPass(ID) { } GatherCoalescePass() : BasicBlockPass(ID) { }
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
const char *getPassName() const { return "Gather Coalescing"; } const char *getPassName() const { return "Gather Coalescing"; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "Gather Coalescing"; }
#endif
bool runOnBasicBlock(llvm::BasicBlock &BB); bool runOnBasicBlock(llvm::BasicBlock &BB);
}; };
@@ -4336,7 +4357,11 @@ public:
static char ID; static char ID;
ReplacePseudoMemoryOpsPass() : BasicBlockPass(ID) { } ReplacePseudoMemoryOpsPass() : BasicBlockPass(ID) { }
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
const char *getPassName() const { return "Replace Pseudo Memory Ops"; } const char *getPassName() const { return "Replace Pseudo Memory Ops"; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "Replace Pseudo Memory Ops"; }
#endif
bool runOnBasicBlock(llvm::BasicBlock &BB); bool runOnBasicBlock(llvm::BasicBlock &BB);
}; };
@@ -4705,7 +4730,11 @@ public:
isLastTry = last; isLastTry = last;
} }
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
const char *getPassName() const { return "Resolve \"is compile time constant\""; } const char *getPassName() const { return "Resolve \"is compile time constant\""; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "Resolve \"is compile time constant\""; }
#endif
bool runOnBasicBlock(llvm::BasicBlock &BB); bool runOnBasicBlock(llvm::BasicBlock &BB);
bool isLastTry; bool isLastTry;
@@ -4800,7 +4829,11 @@ public:
sprintf(str_output, "%s", output); sprintf(str_output, "%s", output);
} }
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
const char *getPassName() const { return "Dump LLVM IR"; } const char *getPassName() const { return "Dump LLVM IR"; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "Dump LLVM IR"; }
#endif
bool runOnModule(llvm::Module &m); bool runOnModule(llvm::Module &m);
private: private:
@@ -4846,7 +4879,11 @@ public:
AU.setPreservesCFG(); AU.setPreservesCFG();
} }
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
const char *getPassName() const { return "Make internal funcs \"static\""; } const char *getPassName() const { return "Make internal funcs \"static\""; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "Make internal funcs \"static\""; }
#endif
bool runOnModule(llvm::Module &m); bool runOnModule(llvm::Module &m);
}; };
@@ -4953,7 +4990,11 @@ class PeepholePass : public llvm::BasicBlockPass {
public: public:
PeepholePass(); PeepholePass();
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
const char *getPassName() const { return "Peephole Optimizations"; } const char *getPassName() const { return "Peephole Optimizations"; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "Peephole Optimizations"; }
#endif
bool runOnBasicBlock(llvm::BasicBlock &BB); bool runOnBasicBlock(llvm::BasicBlock &BB);
static char ID; static char ID;
@@ -5354,7 +5395,11 @@ public:
ReplaceStdlibShiftPass() : BasicBlockPass(ID) { ReplaceStdlibShiftPass() : BasicBlockPass(ID) {
} }
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
const char *getPassName() const { return "Resolve \"replace extract insert chains\""; } const char *getPassName() const { return "Resolve \"replace extract insert chains\""; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "Resolve \"replace extract insert chains\""; }
#endif
bool runOnBasicBlock(llvm::BasicBlock &BB); bool runOnBasicBlock(llvm::BasicBlock &BB);
}; };
@@ -5453,7 +5498,11 @@ public:
static char ID; static char ID;
FixBooleanSelectPass() :FunctionPass(ID) {} FixBooleanSelectPass() :FunctionPass(ID) {}
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
const char *getPassName() const { return "Resolve \"replace extract insert chains\""; } const char *getPassName() const { return "Resolve \"replace extract insert chains\""; }
#else // LLVM 4.0+
llvm::StringRef getPassName() const { return "Resolve \"replace extract insert chains\""; }
#endif
bool runOnFunction(llvm::Function &F); bool runOnFunction(llvm::Function &F);
private: private: