- Jul 09, 2009
-
-
Chris Lattner authored
llvm-svn: 75102
-
Chris Lattner authored
in pic or dynamic-no-pic mode. Also, x86-64 never used picstylegot. llvm-svn: 75101
-
Chris Lattner authored
Simplify it away, someone should evaluate this. llvm-svn: 75100
-
Chris Lattner authored
Simplify code based on this. llvm-svn: 75099
-
Chris Lattner authored
llvm-svn: 75096
-
Chris Lattner authored
llvm-svn: 75095
-
Chris Lattner authored
make sure we're set to static codegen. Simplify the decision tree of target->picstyle/picmode settings. llvm-svn: 75094
-
Chris Lattner authored
with DLLImport symbols even when in -static mode. llvm-svn: 75093
-
Chris Lattner authored
code which conflated RIPRel PIC with x86-64. Fix these to just check for X86-64 directly. llvm-svn: 75092
-
Chris Lattner authored
llvm-svn: 75091
-
Chris Lattner authored
x86-64: GOT-style PIC is never used on x86-64. llvm-svn: 75090
-
Chris Lattner authored
llvm-svn: 75089
-
Chris Lattner authored
llvm-svn: 75088
-
Chris Lattner authored
llvm-svn: 75086
-
Chris Lattner authored
llvm-svn: 75083
-
Chris Lattner authored
llvm-svn: 75082
-
Chris Lattner authored
llvm-svn: 75080
-
Chris Lattner authored
llvm-svn: 75079
-
Chris Lattner authored
* remove some old code that was needed when we'd put ESP in the scale instead of the base of some instructions. * Fix a bug with the P modifier in inline asm that caused us to drop it. llvm-svn: 75077
-
Chris Lattner authored
* remove some dead code: darwin doesn't support dllimport linkage. llvm-svn: 75066
-
- Jul 08, 2009
-
-
Bill Wendling authored
DWARF requires frame moves be specified at specific times. If you have a prologue like this: __Z3fooi: Leh_func_begin1: LBB1_0: ## entry pushl %ebp Llabel1: movl %esp, %ebp Llabel2: pushl %esi Llabel3: subl $20, %esp call "L1$pb" "L1$pb": popl %esi The "pushl %ebp" needs a table entry specifying the offset. The "movl %esp, %ebp" makes %ebp the new stack frame register, so that needs to be specified in DWARF. And "pushl %esi" saves the callee-saved %esi register, which also needs to be specified in DWARF. Before, all of this logic was in one method. This didn't work too well, because as you can see there are multiple FDE line entries that need to be created. This fix creates the "MachineMove" objects directly when they're needed; instead of waiting until the end, and losing information. There is some ugliness where we generate code like this: LBB22_0: ## entry pushl %ebp Llabel280: movl %esp, %ebp Llabel281: Llabel284: pushl %ebp <---------- pushl %ebx pushl %edi pushl %esi Llabel282: subl $328, %esp Notice the extra "pushl %ebp". If we generate a "machine move" instruction in the FDE for that pushl, the linker may get very confused about what value %ebp should have when exitting the function. I.e., it'll give it the value %esp instead of the %ebp value from the first "pushl". Not to mention that, in this case, %ebp isn't modified in the function (that's a separate bug). I put a small hack in to get it to work. It might be the only solution, but should be revisited once the above case is fixed. llvm-svn: 75047
-
Torok Edwin authored
Finish converting lib/Target. llvm-svn: 75043
-
Torok Edwin authored
Also remove trailing semicolon. llvm-svn: 75027
-
Torok Edwin authored
cerr+abort -> llvm_report_error assert(0)+abort -> LLVM_UNREACHABLE (assert(0)+llvm_unreachable-> abort() included) llvm-svn: 75018
-
Bill Wendling authored
U lib/Target/X86/X86RegisterInfo.cpp U lib/Target/X86/X86RegisterInfo.h Temporarily revert. This was causing an infinite loop in the linker on Leopard. llvm-svn: 74970
-
Dale Johannesen authored
patch, instead of one I didn't. llvm-svn: 74968
-
- Jul 07, 2009
-
-
Bill Wendling authored
prologue like this: __Z3fooi: Leh_func_begin1: LBB1_0: ## entry pushl %ebp Llabel1: movl %esp, %ebp Llabel2: pushl %esi Llabel3: subl $20, %esp call "L1$pb" "L1$pb": popl %esi The "pushl %ebp" needs a table entry specifying the offset. The "movl %esp, %ebp" makes %ebp the new stack frame register, so that needs to be specified in DWARF. And "pushl %esi" saves the callee-saved %esi register, which also needs to be specified in DWARF. Before, all of this logic was in one method. This didn't work too well, because as you can see there are multiple FDE line entries that need to be created. This fix creates the "MachineMove" objects directly when they're needed; instead of waiting until the end, and losing information. llvm-svn: 74952
-
Dale Johannesen authored
in PIC modes (in accordance with existing comment). gcc.apple/asm-block-25.c llvm-svn: 74886
-
- Jul 06, 2009
-
-
Bruno Cardoso Lopes authored
cleanup, removed some #includes and moved Object Code Emitter out-of-line. llvm-svn: 74813
-
- Jul 03, 2009
-
-
Tilmann Scheller authored
Add NumFixedArgs attribute to CallSDNode which indicates the number of fixed arguments in a vararg call. With the SVR4 ABI on PowerPC, vector arguments for vararg calls are passed differently depending on whether they are a fixed or a variable argument. Variable vector arguments always go into memory, fixed vector arguments are put into vector registers. If there are no free vector registers available, fixed vector arguments are put on the stack. The NumFixedArgs attribute allows to decide for an argument in a vararg call whether it belongs to the fixed or variable portion of the parameter list. llvm-svn: 74764
-
- Jul 02, 2009
-
-
Douglas Gregor authored
llvm-svn: 74720
-
Chris Lattner authored
This fixes an llvm-gcc bootstrap problem I introduced. llvm-svn: 74691
-
Chris Lattner authored
constant pool references that weren't getting properly rip-relative. llvm-svn: 74689
-
Bruno Cardoso Lopes authored
llvm-svn: 74686
-
Dan Gohman authored
a key is present in a std::map or DenseMap to use find instead. llvm-svn: 74676
-
- Jul 01, 2009
-
-
Bill Wendling authored
bytes and not bytes. llvm-svn: 74624
-
Chris Lattner authored
pic mode. llvm-svn: 74582
-
Daniel Dunbar authored
- This more or less amounts to a revert of r65379. I'm curious to know what happened that caused this variable to become unused. llvm-svn: 74579
-
Bill Wendling authored
have the alignment be calculated up front, and have the back-ends obey whatever alignment is decided upon. This allows for future work that would allow for precise no-op placement and the like. llvm-svn: 74564
-
- Jun 30, 2009
-
-
David Greene authored
Add 256-bit memory operand support. llvm-svn: 74548
-