[llvm-commits] [llvm] r80184 - in /llvm/trunk: lib/Target/X86/X86ISelLowering.cpp lib/Target/X86/X86InstrInfo.td test/CodeGen/X86/select-i8.ll test/CodeGen/X86/subclass-coalesce.ll
Chris Lattner
clattner at apple.com
Wed Aug 26 20:09:06 PDT 2009
On Aug 26, 2009, at 5:14 PM, Dan Gohman wrote:
> Author: djg
> Date: Wed Aug 26 19:14:12 2009
> New Revision: 80184
>
> URL: http://llvm.org/viewvc/llvm-project?rev=80184&view=rev
> Log:
> Expand i8 selects into control flow instead of 16-bit conditional
> moves. This avoids the need to promote the operands (or implicitly
> extend them, a partial register update condition), and can reduce
> i8 register pressure. This substantially speeds up code such as
> write_hex in lib/Support/raw_ostream.cpp.
Ah, great solution! One random architecture question: do you have any
thoughts on how we could someday generalize and share the "diamond
insertion" code for select across targets? Right now, every target
that does this has its own copy of the code.
-Chris
More information about the llvm-commits
mailing list