similar to: [LLVMdev] What happened to XCHG_rr?

Displaying 5 results from an estimated 5 matches similar to: "[LLVMdev] What happened to XCHG_rr?"

2008 Jul 20
0
[LLVMdev] What happened to XCHG_rr?
On Jul 20, 2008, at 11:50 AM, Fernando Magno Quintao Pereira wrote: > I am updating from LLVM 2.1 to current trunk. The names that I was > using > in LLVM 2.1 were: XCHG8rr, XCHG16rr, XCHG32rr and XCHG64rr. > > Ps.: Evan, thank you for answering the question about IMPLICIT_DEF's. I think they were removed just because noone was using them. Also, the JIT encoding may have
2008 Jul 20
1
[LLVMdev] What happened to XCHG_rr?
I was using them to do SSA-elimination after register allocation. I can implement swaps using three XOR's, but then the code becomes a little bigger and slower. I think even for the sake of completeness, the X86 back-end should offer the possibility of swapping two registers with one single instruction. Do you guys think there is any possibility that those instructions could come back to
2007 Jul 03
2
[LLVMdev] Swaps of FP registers
Dear guys, what is the best way to implement a swap of floating point registers in X86? For the integer registers, I am using xchg. Is there a similar instruction for floating point? My function to insert swaps is like: void X86RegisterInfo::swapRegs( MachineBasicBlock & mbb, MachineBasicBlock::iterator mi, unsigned r1, unsigned r2, const TargetRegisterClass
2008 Jul 19
1
[LLVMdev] IMPLICIT_DEF's
Guys, I think I figure out the way that the current LLVM allocators are handling IMPLICIT_DEF's. One question more: why are you adding null length intervals to IMPLICIT_DEF instructions? If they were non-null, I think the code to handle them would be more homogeneous, e.g a traversal of the intervals during register allocation would already reveal virtuals defined implicitly. best,
2008 Jul 19
0
[LLVMdev] IMPLICIT_DEF's
Hi, guys. sorry if this has already been discussed, but I still feel like clarifying: how should the register allocator handle IMPLICIT_DEF instructions? The LiveIntervalAnalysis class is assigning them zero length intervals. After I removed this, e.g, by removing the lines: if (mi->getOpcode() == TargetInstrInfo::IMPLICIT_DEF) { DOUT << "is a implicit_def\n";