Displaying 4 results from an estimated 4 matches for "regclassb".
Did you mean:
regclass
2018 Apr 10
1
How to finalize instruction lowering after register allocation.
...erB_6
FADD AB R7, R8; // => ACC_A = RegisterA_7 + RegisterA_8 and ACC_B = RegisterB_7 + RegisterB_8
>From a machine registers definition point of view, I've first defined the 512 UnitA registers in a RegisterClass RegClassA and the 512 UnitB registers in a RegisterClass RegClassB.
In order to defined registers operands for the SIMD version of FPU instructions, I've then defined 512 registers in a RegisterClass RegClassAB.
The registers from RegClassAB overlap the one the ones of RegClassA and RegClassB in this way RegClassAB.R1 has two subregisters: RegClassA.R1 and Reg...
2019 Jun 25
2
How to handle ISD::STORE when both operands are FrameIndex?
...at are still allocated on the stack
> at the time of the SDAG construction. In your case it seems that the
> address and the value to store are both on the stack. You don’t need to do
> anything in particular with it. If you have a selection pattern of form
> “(store RegClassA:$Addr, RegClassB:$Val), (STORE $Addr, $Val)”, then it
> will force loading both, Addr and Val into registers.
>
You mean, LLVM will automagically generate loads? This isn't happening for
me.
And what's "STORE"? Is it somehow different from "store"?
I think someone has added a pa...
2019 Jun 24
3
How to handle ISD::STORE when both operands are FrameIndex?
Hello.
After "Initial selection DAG" stage I get a DAG with node
t14: ch = store<(store 4 into %ir.p45, align 8, addrspace 1)> t10,
FrameIndex:i32<2>, FrameIndex:i32<3>, undef:i32
1. Where does it come from? Can I do anything to make it not appear?
2. If not, how do I change it so that the operand being stored would be
first loaded into a register, and that register
2019 Jun 26
2
How to handle ISD::STORE when both operands are FrameIndex?
...at are still allocated on the
> stack at the time of the SDAG construction. In your case it seems that the
> address and the value to store are both on the stack. You don’t need to do
> anything in particular with it. If you have a selection pattern of form
> “(store RegClassA:$Addr, RegClassB:$Val), (STORE $Addr, $Val)”, then it
> will force loading both, Addr and Val into registers.
> >
> > You mean, LLVM will automagically generate loads? This isn't happening
> for me.
>
> "Materializing" would probably have been a less ambiguous choice of
> wo...