llvm-project/llvm/lib/Target
Chris Lattner 33930ad7bd Improve codegen for the LLVM offsetof/sizeof "operator". Before we compiled
this LLVM function:

int %foo() {
        ret int cast (int** getelementptr (int** null, int 1) to int)
}

into:

foo:
        mov %EAX, 0
        lea %EAX, DWORD PTR [%EAX + 4]
        ret

now we compile it into:

foo:
        mov %EAX, 4
        ret

This sequence is frequently generated by the MSIL front-end, and soon the malloc lowering pass and
Java front-ends as well..

-Chris

llvm-svn: 14834
2004-07-15 00:58:53 +00:00
..
CBackend Apple's MacOS X is another OS which does not provide alloca() via <alloca.h> 2004-07-12 23:37:18 +00:00
PowerPC Make sure MTSPR instruction is inserted into the BasicBlock 2004-07-14 18:26:31 +00:00
SparcV8 Delete the allocate*TargetMachine function, which is now dead . 2004-07-11 04:17:10 +00:00
SparcV9 Add Machine-CFG edges to SparcV9 MachineBasicBlocks. 2004-07-14 05:40:50 +00:00
X86 Improve codegen for the LLVM offsetof/sizeof "operator". Before we compiled 2004-07-15 00:58:53 +00:00
MRegisterInfo.cpp Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
Makefile Remove ghostly directory from the build 2004-03-11 04:42:41 +00:00
Target.td Expose the "Other" value type to tablegen targets 2004-02-11 03:08:45 +00:00
TargetData.cpp Fix use-before-def thinko 2004-07-02 07:01:31 +00:00
TargetFrameInfo.cpp Move implementations of functions here, which avoids #including <cstdlib> in the 2004-03-11 23:52:43 +00:00
TargetInstrInfo.cpp Adjust to change in TII ctor arguments 2004-02-29 06:31:44 +00:00
TargetMachine.cpp Direct declaration of namespace-ified globals does not work, must enclose 2004-06-21 21:44:12 +00:00
TargetMachineRegistry.cpp Implement TargetRegistrationListener 2004-07-11 06:03:21 +00:00
TargetSchedInfo.cpp Adjust to new TM interface 2004-06-02 05:56:04 +00:00