search for: true_block

Displaying 7 results from an estimated 7 matches for "true_block".

2010 Dec 09
0
[LLVMdev] Inlining and exception handling in LLVM and GCC
...ake landing pad blocks special in the IR to facility detecting misuse (both pragmatically and visually). The following pseudo-IR tries to demonstrate the validity of assignments: main: %a = no_fail_instruction test: unwind to lpad %r = possible_failing_comparison %a, 0 br %r == 0, label true_block, label false_block true_block: unwind to lpad %c = no_fail_instruction %d = potentially_failing_instruction %c br label either_block false_block: unwind to lpad %e = no_fail_instruction %f = potentially_failing_instruction %e br label either_block either_block: unwind to lpad...
2010 Dec 08
2
[LLVMdev] Inlining and exception handling in LLVM and GCC
On 8 December 2010 18:45, Devang Patel <dpatel at apple.com> wrote: > I do not know EH or details of these proposals. But do not forget, basic blocks are merged/split/deleted, instructions are added/removed/moved/copied/replaced. Indeed. Having the information in the invoke kinda alleviates this problem, but removing the invoke syntax will bring that back. One way to merge two basic
2004 Aug 17
5
[LLVMdev] JIT API example (fibonacci)
...rg"); // Give it a nice symbolic name for fun. > > > > SetCondInst* CondInst > > = new SetCondInst( Instruction::SetLE, > > &ArgX, Two ); > > > > BB->getInstList().push_back(CondInst); > > > > // Create the true_block > > BasicBlock* true_bb = new BasicBlock("arg<=2"); > > > > > > // Create the return instruction and add it > > // to the basic block for true case: > > true_bb->getInstList().push_back(new ReturnInst(One)); > > > >...
2004 Aug 17
0
[LLVMdev] JIT API example (fibonacci)
...arg > ArgX.setName("AnArg"); // Give it a nice symbolic name for fun. > > SetCondInst* CondInst > = new SetCondInst( Instruction::SetLE, > &ArgX, Two ); > > BB->getInstList().push_back(CondInst); > > // Create the true_block > BasicBlock* true_bb = new BasicBlock("arg<=2"); > > > // Create the return instruction and add it > // to the basic block for true case: > true_bb->getInstList().push_back(new ReturnInst(One)); > > // Create an exit block >...
2004 Aug 17
0
[LLVMdev] JIT API example (fibonacci)
...// Give it a nice symbolic name for fun. >>> >>> SetCondInst* CondInst >>> = new SetCondInst( Instruction::SetLE, >>> &ArgX, Two ); >>> >>> BB->getInstList().push_back(CondInst); >>> >>> // Create the true_block >>> BasicBlock* true_bb = new BasicBlock("arg<=2"); >>> >>> >>> // Create the return instruction and add it >>> // to the basic block for true case: >>> true_bb->getInstList().push_back(new ReturnInst(One)); >>&...
2004 Aug 18
1
[LLVMdev] JIT API example (fibonacci)
...un. > >>> > >>> SetCondInst* CondInst > >>> = new SetCondInst( Instruction::SetLE, > >>> &ArgX, Two ); > >>> > >>> BB->getInstList().push_back(CondInst); > >>> > >>> // Create the true_block > >>> BasicBlock* true_bb = new BasicBlock("arg<=2"); > >>> > >>> > >>> // Create the return instruction and add it > >>> // to the basic block for true case: > >>> true_bb->getInstList().push_back(n...
2004 Aug 17
4
[LLVMdev] JIT API example (fibonacci)
Hi LLVMers, the example attached I have used to prove that JIT and some visible optimizations are really invoked. Proved OK. I got 30% speed-up in comparison to gcc 3.3.3 on my Athlon XP 1500. Nice. P.S. guys, no fears, I don't plan to flood the cvs repository with my "brilliant" examples ;) --- Valery A.Khamenya -------------- next part -------------- An