forked from OSchip/llvm-project
e272b4ec17
Here is an example where the load ended up being done twice: %A = global uint 0 uint %test(uint %B, ubyte %C) { %tmp = load uint *%A; %X = shl uint %tmp, ubyte %C %Cv = sub ubyte 32, %C %Y = shr uint %B, ubyte %Cv %Z = or uint %Y, %X store uint %Z, uint* %A ret uint %Z } ==> subl $4, %esp movl %ebx, (%esp) movl 8(%esp), %edx movl A, %eax movb 12(%esp), %bl movb %bl, %cl shldl %cl, %edx, %eax movb %bl, %cl shldl %cl, %edx, A movl (%esp), %ebx addl $4, %esp ret llvm-svn: 25471 |
||
---|---|---|
.. | ||
.cvsignore | ||
AsmWriterEmitter.cpp | ||
AsmWriterEmitter.h | ||
CodeEmitterGen.cpp | ||
CodeEmitterGen.h | ||
CodeGenInstruction.h | ||
CodeGenRegisters.h | ||
CodeGenTarget.cpp | ||
CodeGenTarget.h | ||
DAGISelEmitter.cpp | ||
DAGISelEmitter.h | ||
FileLexer.cpp | ||
FileLexer.l | ||
FileParser.cpp | ||
FileParser.h | ||
FileParser.y | ||
InstrInfoEmitter.cpp | ||
InstrInfoEmitter.h | ||
Makefile | ||
Record.cpp | ||
Record.h | ||
RegisterInfoEmitter.cpp | ||
RegisterInfoEmitter.h | ||
SubtargetEmitter.cpp | ||
SubtargetEmitter.h | ||
TableGen.cpp | ||
TableGenBackend.cpp | ||
TableGenBackend.h |