Remove support for building with LLVM 3.0
This commit is contained in:
29
opt.cpp
29
opt.cpp
@@ -48,7 +48,7 @@
|
||||
#include <set>
|
||||
|
||||
#include <llvm/Pass.h>
|
||||
#if defined(LLVM_3_0) || defined(LLVM_3_1) || defined(LLVM_3_2)
|
||||
#if defined(LLVM_3_1) || defined(LLVM_3_2)
|
||||
#include <llvm/Module.h>
|
||||
#include <llvm/Instructions.h>
|
||||
#include <llvm/Intrinsics.h>
|
||||
@@ -73,7 +73,7 @@
|
||||
#include <llvm/Transforms/IPO.h>
|
||||
#include <llvm/Transforms/Utils/BasicBlockUtils.h>
|
||||
#include <llvm/Target/TargetOptions.h>
|
||||
#if defined(LLVM_3_0) || defined(LLVM_3_1)
|
||||
#if defined(LLVM_3_1)
|
||||
#include <llvm/Target/TargetData.h>
|
||||
#elif defined(LLVM_3_2)
|
||||
#include <llvm/DataLayout.h>
|
||||
@@ -85,7 +85,7 @@
|
||||
#include <llvm/Analysis/Verifier.h>
|
||||
#include <llvm/Analysis/Passes.h>
|
||||
#include <llvm/Support/raw_ostream.h>
|
||||
#if defined(LLVM_3_0) || defined(LLVM_3_1)
|
||||
#if defined(LLVM_3_1)
|
||||
#include <llvm/Analysis/DebugInfo.h>
|
||||
#else
|
||||
#include <llvm/DebugInfo.h>
|
||||
@@ -323,7 +323,6 @@ lConstElementsToMask(const llvm::SmallVector<llvm::Constant *,
|
||||
*/
|
||||
static bool
|
||||
lGetMask(llvm::Value *factor, uint64_t *mask) {
|
||||
#ifndef LLVM_3_0
|
||||
llvm::ConstantDataVector *cdv = llvm::dyn_cast<llvm::ConstantDataVector>(factor);
|
||||
if (cdv != NULL) {
|
||||
llvm::SmallVector<llvm::Constant *, ISPC_MAX_NVEC> elements;
|
||||
@@ -332,12 +331,10 @@ lGetMask(llvm::Value *factor, uint64_t *mask) {
|
||||
*mask = lConstElementsToMask(elements);
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
llvm::ConstantVector *cv = llvm::dyn_cast<llvm::ConstantVector>(factor);
|
||||
if (cv != NULL) {
|
||||
llvm::SmallVector<llvm::Constant *, ISPC_MAX_NVEC> elements;
|
||||
#ifndef LLVM_3_0
|
||||
for (int i = 0; i < (int)cv->getNumOperands(); ++i) {
|
||||
llvm::Constant *c =
|
||||
llvm::dyn_cast<llvm::Constant>(cv->getOperand(i));
|
||||
@@ -345,9 +342,6 @@ lGetMask(llvm::Value *factor, uint64_t *mask) {
|
||||
return false;
|
||||
elements.push_back(c);
|
||||
}
|
||||
#else
|
||||
cv->getVectorElements(elements);
|
||||
#endif
|
||||
*mask = lConstElementsToMask(elements);
|
||||
return true;
|
||||
}
|
||||
@@ -420,7 +414,7 @@ Optimize(llvm::Module *module, int optLevel) {
|
||||
new llvm::TargetLibraryInfo(llvm::Triple(module->getTargetTriple()));
|
||||
optPM.add(targetLibraryInfo);
|
||||
|
||||
#if defined(LLVM_3_0) || defined(LLVM_3_1)
|
||||
#if defined(LLVM_3_1)
|
||||
optPM.add(new llvm::TargetData(module));
|
||||
#else
|
||||
llvm::TargetMachine *targetMachine = g->target.GetTargetMachine();
|
||||
@@ -950,8 +944,6 @@ VSelMovmskOpt::runOnBasicBlock(llvm::BasicBlock &bb) {
|
||||
|
||||
restart:
|
||||
for (llvm::BasicBlock::iterator iter = bb.begin(), e = bb.end(); iter != e; ++iter) {
|
||||
// vector select wasn't available before 3.1...
|
||||
#ifndef LLVM_3_0
|
||||
llvm::SelectInst *selectInst = llvm::dyn_cast<llvm::SelectInst>(&*iter);
|
||||
if (selectInst != NULL && selectInst->getType()->isVectorTy()) {
|
||||
llvm::Value *factor = selectInst->getOperand(0);
|
||||
@@ -972,7 +964,6 @@ VSelMovmskOpt::runOnBasicBlock(llvm::BasicBlock &bb) {
|
||||
goto restart;
|
||||
}
|
||||
}
|
||||
#endif // !LLVM_3_0
|
||||
|
||||
llvm::CallInst *callInst = llvm::dyn_cast<llvm::CallInst>(&*iter);
|
||||
if (callInst == NULL)
|
||||
@@ -1185,7 +1176,6 @@ lGetBasePtrAndOffsets(llvm::Value *ptrs, llvm::Value **offsets,
|
||||
// Indexing into global arrays can lead to this form, with
|
||||
// ConstantVectors..
|
||||
llvm::SmallVector<llvm::Constant *, ISPC_MAX_NVEC> elements;
|
||||
#ifndef LLVM_3_0
|
||||
for (int i = 0; i < (int)cv->getNumOperands(); ++i) {
|
||||
llvm::Constant *c =
|
||||
llvm::dyn_cast<llvm::Constant>(cv->getOperand(i));
|
||||
@@ -1193,9 +1183,6 @@ lGetBasePtrAndOffsets(llvm::Value *ptrs, llvm::Value **offsets,
|
||||
return NULL;
|
||||
elements.push_back(c);
|
||||
}
|
||||
#else
|
||||
cv->getVectorElements(elements);
|
||||
#endif
|
||||
|
||||
llvm::Constant *delta[ISPC_MAX_NVEC];
|
||||
for (unsigned int i = 0; i < elements.size(); ++i) {
|
||||
@@ -1280,9 +1267,7 @@ lExtractConstantOffset(llvm::Value *vec, llvm::Value **constOffset,
|
||||
llvm::Value **variableOffset,
|
||||
llvm::Instruction *insertBefore) {
|
||||
if (llvm::isa<llvm::ConstantVector>(vec) ||
|
||||
#ifndef LLVM_3_0
|
||||
llvm::isa<llvm::ConstantDataVector>(vec) ||
|
||||
#endif
|
||||
llvm::isa<llvm::ConstantAggregateZero>(vec)) {
|
||||
*constOffset = vec;
|
||||
*variableOffset = NULL;
|
||||
@@ -1405,12 +1390,8 @@ lExtractConstantOffset(llvm::Value *vec, llvm::Value **constOffset,
|
||||
*splat, if so). */
|
||||
static bool
|
||||
lIsIntegerSplat(llvm::Value *v, int *splat) {
|
||||
#ifdef LLVM_3_0
|
||||
llvm::ConstantVector *cvec = llvm::dyn_cast<llvm::ConstantVector>(v);
|
||||
#else
|
||||
llvm::ConstantDataVector *cvec =
|
||||
llvm::dyn_cast<llvm::ConstantDataVector>(v);
|
||||
#endif
|
||||
if (cvec == NULL)
|
||||
return false;
|
||||
|
||||
@@ -1545,9 +1526,7 @@ lExtractUniforms(llvm::Value **vec, llvm::Instruction *insertBefore) {
|
||||
fprintf(stderr, "\n");
|
||||
|
||||
if (llvm::isa<llvm::ConstantVector>(*vec) ||
|
||||
#ifndef LLVM_3_0
|
||||
llvm::isa<llvm::ConstantDataVector>(*vec) ||
|
||||
#endif
|
||||
llvm::isa<llvm::ConstantAggregateZero>(*vec))
|
||||
return NULL;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user