Displaying 1 result from an estimated 1 matches for "visitsext".
Did you mean:
visitret
2014 Feb 19
2
[LLVMdev] better code for IV
...4 %L_tid, 32
%idxprom = ashr exact i64 %sext, 32
Sext(trunk()) remains nice until code gen and one asm instruction of the sort "move %eax, %rax" is generated, as I want (see asm sample at the end of this message). I implemented this locally in InstCombineCasts.cpp, in InstCombiner::visitSExt(). The code looks for the specific pattern of sext32to64(trunk64to32()) and doesn't let it become ashr(shl()).
Another way that I can think of, is to keep ashr32(shl32()) together and then it's possible to replace both instructions with one asm instruction (a la "move %eax, %rax"...