BranchInst comparison

Hi All,

How could I use BranchInst to implement for example
br label %if.else7
br label %if.then5
br i1 %cmp4, label %if.then5, label %if.else7

I can use BranchInst for only one instruction but how could I compare between two branches

Thanks

or like this

%cmp4 = icmp eq i32 %rem, 0
br i1 %cmp4, label %if.then5, label %if.else7

Your question isn’t clear; please restate what specifically isn’t working.

-Eli

How could BranchInst be used to insert new branch between two basic blocks to get result like this example:

br label %if.else
br label %if.then
br i1 %cmp1, label %if.then, label %if.else

Thanks for your help

Or maybe there is another method to be used??

Hi Rasha,

How could BranchInst be used to insert new branch between two basic blocks
to get result like this example:

br label %if.else
  br label %if.then
  br i1 %cmp1, label %if.then, label %if.else

I think that's still unclear. A basic block containing those three
instructions would be invalid (only one terminating branch instruction
is allowed).

Why don't you write two functions, as simple as possible (but that llc
will compile), showing an example of the kind of IR you have, and the
kind you want?

Tim.