Lines Matching refs:m_builder
136 IRBuilder<> & m_builder;
148 CondBranch(IRBuilder<> & builder) : m_builder(builder) {}
155 Function * function = m_builder.GetInsertBlock()->getParent();
156 BasicBlock * ifthen = BasicBlock::Create(m_builder.getContext(), name(trueBlock), function, NULL);
157 BasicBlock * ifend = BasicBlock::Create(m_builder.getContext(), name(falseBlock), function, NULL);
158 m_builder.CreateCondBr(cmp, ifthen, ifend);
159 m_builder.SetInsertPoint(ifthen);
165 BasicBlock *ifend = BasicBlock::Create(m_builder.getContext(), name("else_end"), m_builder.GetInsertBlock()->getParent(),0);
166 if (!m_builder.GetInsertBlock()->getTerminator()) // ret void is a block terminator
167 m_builder.CreateBr(ifend); // branch is also a block terminator
170 m_builder.GetInsertBlock()->getTerminator()->dump();
173 m_builder.SetInsertPoint(m_ifStack.top());
174 m_builder.GetInsertBlock()->setName(name("else_then"));
181 if (!m_builder.GetInsertBlock()->getTerminator()) // ret void is a block terminator
182 m_builder.CreateBr(m_ifStack.top()); // branch is also a block terminator
185 m_builder.GetInsertBlock()->getTerminator()->dump();
188 m_builder.SetInsertPoint(m_ifStack.top());
193 Function * function = m_builder.GetInsertBlock()->getParent();
194 BasicBlock *begin = BasicBlock::Create(m_builder.getContext(), name("loop"), function,0);
195 BasicBlock *end = BasicBlock::Create(m_builder.getContext(), name("endloop"), function,0);
197 m_builder.CreateBr(begin);
201 m_builder.SetInsertPoint(begin);
208 m_builder.CreateBr(loop.begin);
209 loop.end->moveAfter(m_builder.GetInsertBlock());
210 m_builder.SetInsertPoint(loop.end);
216 BasicBlock *unr = BasicBlock::Create(m_builder.getContext(), name("unreachable"), m_builder.GetInsertBlock()->getParent(),0);
217 m_builder.CreateBr(m_loopStack.top().end);
218 m_builder.SetInsertPoint(unr);