[LLVMdev] Branch-like intrinsic

Edward Lee eslee3 at uiuc.edu
Mon Apr 14 16:24:55 PDT 2008


On Mon, Apr 14, 2008 at 5:02 PM, Bill Wendling <isanbard at gmail.com> wrote:
>  Then that flow would be explicit in the CFG, right? Then %F wouldn't
>  be dead, I'm assuming.
Right. That's why I used a conditional branch after the intrinsic, but
it sounds like the CFG simplification pass after lowering will
optimize it away and no longer have the flow explicit. (To the rest of
the compiler, the only flow into %F is from the branch, but actual
execution can have flow enter %F from elsewhere with the *same* flow
behavior as if it entered from the branch.)

On Mon, Apr 14, 2008 at 6:00 PM, Chris Lattner <sabre at nondot.org> wrote:
>  You can change the code generator or not run the block layout pass.
Ok thanks for the help. I'll try finding where to twiddle this.
Perhaps explicitly check if the branch's condition is the call to my
intrinsic.

Or is there another way for me to have my intrinsic return a Value
that causes the codegen to emit an unconditional jump yet keep the CFG
intact?

Ed



More information about the llvm-dev mailing list