[llvm-commits] [llvm] r85764 - in /llvm/trunk/lib/Target/ARM: ARM.td ARMBaseInstrInfo.cpp ARMBaseInstrInfo.h ARMInstrFormats.td ARMInstrInfo.cpp ARMInstrInfo.h Thumb1InstrInfo.cpp Thumb2InstrInfo.cpp
Evan Cheng
evan.cheng at apple.com
Sun Nov 1 23:08:49 PST 2009
On Nov 1, 2009, at 11:04 PM, Anton Korobeynikov wrote:
> Hello, Evan
>
>> 1. When the register is virtual, it could have used
>> machineregisterinfo to find the def. It would have been much faster.
> Yes, however, I never saw such case in (rather huge) real codes. I
> will add it.
>
>> 2. When the register is physical it can scan all the way to the top
>> of
>> the MBB, that's extremely expensive.
> Do we have any better way? It seems - no. We need to find the def of
> the
> register which is closest to the insertion point. Even if some
> instruction
> numbering would be saved after RA, then iterating of instructions
> seems to
> be cheaper than iterating over defs of the phys reg.
This has to be done in a late pass which can walk basic blocks from
top down and tracking the domain of every register. When it sees a
fcpyd, it knows the domain of source register and can change it. The
current implementation really is a non-starter, especially for JIT.
Can you disable it for now?
Evan
>
> --
> With best regards, Anton Korobeynikov
> Faculty of Mathematics and Mechanics, Saint Petersburg State
> University
More information about the llvm-commits
mailing list