summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Lejeune <vljn@ovi.com>2013-07-28 16:51:56 +0200
committerVincent Lejeune <vljn@ovi.com>2013-07-28 16:51:56 +0200
commit833e62ad3149f7f64e0663f0bea35fed99f7967c (patch)
tree9076122b164fd392e009a657b22827eab233e22f
parentc81b6403da3add59292bb9d252a3046b13fe25cd (diff)
Revert "desesperate attempt"
-rw-r--r--lib/Target/R600/R600ISelLowering.cpp4
-rw-r--r--lib/Target/R600/R600Instructions.td8
-rw-r--r--lib/Target/R600/R600Intrinsics.td2
-rw-r--r--lib/Target/R600/R600LinearizeLoops.cpp17
4 files changed, 0 insertions, 31 deletions
diff --git a/lib/Target/R600/R600ISelLowering.cpp b/lib/Target/R600/R600ISelLowering.cpp
index 309f0790a1..a2bc2c3a9f 100644
--- a/lib/Target/R600/R600ISelLowering.cpp
+++ b/lib/Target/R600/R600ISelLowering.cpp
@@ -462,10 +462,6 @@ MachineBasicBlock * R600TargetLowering::EmitInstrWithCustomInserter(
MIB.addReg(MFI->LiveOuts[i], RegState::Implicit);
return BB;
}
- case AMDGPU::CFGFlag: {
- MI->getParent()->setIsLandingPad();
- break;
- }
}
MI->eraseFromParent();
diff --git a/lib/Target/R600/R600Instructions.td b/lib/Target/R600/R600Instructions.td
index 5f38af932c..178e081e9d 100644
--- a/lib/Target/R600/R600Instructions.td
+++ b/lib/Target/R600/R600Instructions.td
@@ -741,14 +741,6 @@ def : Pat <
(MOV_IMM_F32 fpimm:$val)
>;
-def CFGFlag : ILFormat<(outs), (ins), "", [(int_R600_CFGFlag)]> {
- let hasSideEffects = 1;
- let mayStore = 1;
- let mayLoad = 1;
- let usesCustomInserter = 1;
-}
-
-
def PRED_SETE : R600_2OP <0x20, "PRED_SETE", []>;
def PRED_SETGT : R600_2OP <0x21, "PRED_SETGT", []>;
def PRED_SETGE : R600_2OP <0x22, "PRED_SETGE", []>;
diff --git a/lib/Target/R600/R600Intrinsics.td b/lib/Target/R600/R600Intrinsics.td
index c1c228abbd..58d86b623d 100644
--- a/lib/Target/R600/R600Intrinsics.td
+++ b/lib/Target/R600/R600Intrinsics.td
@@ -65,6 +65,4 @@ let TargetPrefix = "R600", isTarget = 1 in {
Intrinsic<[], [llvm_float_ty], []>;
def int_R600_store_dummy :
Intrinsic<[], [llvm_i32_ty], []>;
- def int_R600_CFGFlag:
- Intrinsic<[], [], []>;
}
diff --git a/lib/Target/R600/R600LinearizeLoops.cpp b/lib/Target/R600/R600LinearizeLoops.cpp
index 5fd31db19a..afd42a2b41 100644
--- a/lib/Target/R600/R600LinearizeLoops.cpp
+++ b/lib/Target/R600/R600LinearizeLoops.cpp
@@ -17,7 +17,6 @@
#include "llvm/Analysis/LoopPass.h"
#include "llvm/Transforms/Utils/SSAUpdater.h"
#include "llvm/IR/Instructions.h"
-#include "llvm/IR/IRBuilder.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/ADT/STLExtras.h"
@@ -34,7 +33,6 @@ class R600LinearizeLoops : public LoopPass {
LLVMContext *Context;
Type *IntType;
Function *F;
- Function *Intrinsic;
std::vector<PHINode *> collectPhi(BasicBlock *BB) {
std::vector<PHINode *> PhiMap;
@@ -55,12 +53,6 @@ class R600LinearizeLoops : public LoopPass {
}
}
- Value *insertFlagInBlock(BasicBlock *BB, unsigned i) {
- IRBuilder<> Builder(BB, BB->getFirstInsertionPt());
- Value *Arg = ConstantInt::get(IntType, i);
- return Builder.CreateCall(Intrinsic, Arg);
- }
-
void movePhiFromExitToNewExit(PHINode *PhiFromExit, BasicBlock *NewExit) {
PHINode *PhiInNewExit = PHINode::Create(PhiFromExit->getType(), 0, "", NewExit);
std::set<BasicBlock *> IncomingWithValue;
@@ -89,13 +81,6 @@ public:
Context = &ExitBlks.front()->getContext();
IntType = Type::getInt32Ty(*Context);
F = ExitBlks.front()->getParent();
- Module *Mod = F->getParent();
- Intrinsic = Mod->getFunction("llvm.R600.CFGFlag");
- if (!Intrinsic) {
- FunctionType *IntrinsicType = FunctionType::get(Type::getVoidTy(*Context), false);
- Intrinsic = Function::Create(IntrinsicType, GlobalValue::ExternalLinkage, "llvm.R600.CFGFlag", Mod);
- //Intrinsic->addFnAttr(Attribute::ReadNone);
- }
return true;
}
@@ -155,8 +140,6 @@ public:
Constant *Flag = ConstantInt::get(IntType, LastFlag);
Value *Cond = ICmpInst::Create(Instruction::ICmp, ICmpInst::ICMP_EQ, Phi, Flag, "", SwitchExit);
BranchInst::Create(IdToExit[LastFlag], IdToExit[LastFlag + 1], Cond, SwitchExit);
- IRBuilder<> Builder(NewExit, NewExit->getFirstInsertionPt());
- Builder.CreateCall(Intrinsic);
//LI->dump();
//F->getParent()->dump();
return false;