diff options
author | Zack Rusin <[email protected]> | 2007-10-25 07:18:01 -0400 |
---|---|---|
committer | Zack Rusin <[email protected]> | 2007-10-25 09:04:41 -0400 |
commit | 7073ef96824242669735a8681519e1a0cee14309 (patch) | |
tree | 3c80ec3fceb62102d8a92ee0d8850028d7a194d6 /src/mesa/pipe/llvm/instructions.cpp | |
parent | 731352f03ee998050331104d90abb47ee1377b3f (diff) |
Implement else ops.
Diffstat (limited to 'src/mesa/pipe/llvm/instructions.cpp')
-rw-r--r-- | src/mesa/pipe/llvm/instructions.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/mesa/pipe/llvm/instructions.cpp b/src/mesa/pipe/llvm/instructions.cpp index 622d420f64d..a0645c58045 100644 --- a/src/mesa/pipe/llvm/instructions.cpp +++ b/src/mesa/pipe/llvm/instructions.cpp @@ -956,7 +956,7 @@ Function* makeLitFunction(Module *mod) { void Instructions::ifop(llvm::Value *in) { BasicBlock *ifthen = new BasicBlock(name("ifthen"), m_func,0); - BasicBlock *ifend = new BasicBlock(name("ifend"), m_func,0); + BasicBlock *ifend = new BasicBlock(name("ifthenend"), m_func,0); //BasicBlock *yblock = new BasicBlock(name("yblock"), m_func,0); //BasicBlock *zblock = new BasicBlock(name("zblock"), m_func,0); @@ -981,6 +981,17 @@ llvm::BasicBlock * Instructions::currentBlock() const return m_block; } +void Instructions::elseop() +{ + assert(!m_ifStack.empty()); + BasicBlock *ifend = new BasicBlock(name("ifend"), m_func,0); + new BranchInst(ifend, m_block); + m_block = m_ifStack.top(); + m_block->setName(name("ifelse")); + m_ifStack.pop(); + m_ifStack.push(ifend); +} + void Instructions::endif() { assert(!m_ifStack.empty()); |