[llvm-dev] Conditional tablegen expressions with math ops?
Matt Arsenault via llvm-dev
llvm-dev at lists.llvm.org
Thu May 5 13:36:19 PDT 2016
On 05/03/2016 05:20 PM, Phil Tomson via llvm-dev wrote:
> This example is easily "fixed" (the performance is optimized) by
> swapping the 2nd and 3rd operands:
> add r1, r1, r2 # r1 <- r1 + r2
> There are four banks and the formula to figure out which bank a
> register is in is just: r%4
How are your instruction operands defined? Do you have a separate
register class for each bank, and then a superset class for the operands
in the instruction? With a post-isel hook or pass you could try
constraining the register class of the virtual register operands, which
may or may not result in a copy in the end.
More information about the llvm-dev