[llvm-dev] how to generate select-free LLVM IR?

Eli Friedman via llvm-dev llvm-dev at lists.llvm.org
Fri Aug 2 12:16:21 PDT 2019

Probably you want to a pass to transform select instructions to control flow late, after optimizations have run.  Trying to prevent clang IR generation and IR optimizations from forming selects is way too difficult.

I don't think this transform exists as an independent pass, but you can borrow code from CodeGenPrepare::optimizeSelectInst.


From: llvm-dev <llvm-dev-bounces at lists.llvm.org> On Behalf Of Robert Henry via llvm-dev
Sent: Thursday, August 1, 2019 4:54 PM
To: llvm-dev at lists.llvm.org
Subject: [EXT] [llvm-dev] how to generate select-free LLVM IR?

I run "clang ... --emit-llvm ....".  I get LLVM IR select instructions out. I don't want select instructions, but want explicit control flow.

Is there a way to do this?

I'm scared of disabling the SimplifyCFG pass since it appears to do much more than just rewrite to use select statements.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190802/4a9dbe71/attachment.html>

More information about the llvm-dev mailing list