summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/llvm/instructions.cpp
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2007-12-12 13:11:19 +1100
committerBen Skeggs <skeggsb@gmail.com>2007-12-12 13:11:19 +1100
commit58915980127ab4e57b6b40a8c42f44be4a12aeae (patch)
tree176f379bb19fc8caacf96112a1ebeda8aea90a16 /src/mesa/pipe/llvm/instructions.cpp
parente282d22d512d2a5871d0fabb7d855a16b4593c50 (diff)
parentb2ad30d57197c2167789e4f3f5b34af6df56dde2 (diff)
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Conflicts: src/mesa/pipe/Makefile
Diffstat (limited to 'src/mesa/pipe/llvm/instructions.cpp')
-rw-r--r--src/mesa/pipe/llvm/instructions.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/mesa/pipe/llvm/instructions.cpp b/src/mesa/pipe/llvm/instructions.cpp
index 232dd9cd5d..c8d1992587 100644
--- a/src/mesa/pipe/llvm/instructions.cpp
+++ b/src/mesa/pipe/llvm/instructions.cpp
@@ -732,14 +732,10 @@ void Instructions::end()
m_builder.CreateRetVoid();
}
-void Instructions::cal(int label, llvm::Value *out, llvm::Value *in,
- llvm::Value *cst, llvm::Value *temp)
+void Instructions::cal(int label, llvm::Value *input)
{
std::vector<Value*> params;
- params.push_back(out);
- params.push_back(in);
- params.push_back(cst);
- params.push_back(temp);
+ params.push_back(input);
llvm::Function *func = findFunction(label);
m_builder.CreateCall(func, params.begin(), params.end());
@@ -773,15 +769,9 @@ void Instructions::bgnSub(unsigned label)
llvm::Function *func = findFunction(label);
Function::arg_iterator args = func->arg_begin();
- Value *ptr_OUT = args++;
- ptr_OUT->setName("OUT");
- Value *ptr_IN = args++;
- ptr_IN->setName("IN");
- Value *ptr_CONST = args++;
- ptr_CONST->setName("CONST");
- Value *ptr_TEMP = args++;
- ptr_TEMP->setName("TEMP");
- m_storage->pushArguments(ptr_OUT, ptr_IN, ptr_CONST, ptr_TEMP);
+ Value *ptr_INPUT = args++;
+ ptr_INPUT->setName("INPUT");
+ m_storage->pushArguments(ptr_INPUT);
llvm::BasicBlock *entry = new BasicBlock("entry", func, 0);
@@ -874,6 +864,15 @@ llvm::Value * Instructions::scs(llvm::Value *in)
return call;
}
+llvm::Value * Instructions::kilp(llvm::Value *in)
+{
+ llvm::Function *func = m_mod->getFunction("kilp");
+ assert(func);
+
+ CallInst *call = m_builder.CreateCall(func, in, name("kilpres"));
+ call->setTailCall(false);
+ return call;
+}
llvm::Value * Instructions::sin(llvm::Value *in)
{
@@ -886,3 +885,4 @@ llvm::Value * Instructions::sin(llvm::Value *in)
}
#endif //MESA_LLVM
+