- Jul 18, 2009
-
-
Evan Cheng authored
Fix x86 inline ams 'q' constraint support. In 32-bit mode, it's just like 'Q', i.e. EAX, EDX, ECX, EBX. In 64-bit mode, it just means all the i64r registers. Yeah, that makes sense. llvm-svn: 76248
-
- Jul 15, 2009
-
-
Owen Anderson authored
llvm-svn: 75840
-
- Jul 14, 2009
-
-
Torok Edwin authored
This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
-
- Jul 11, 2009
-
-
Chris Lattner authored
Basically, using: lea symbol(%rip), %rax is not valid in -static mode, because the current RIP may not be within 32-bits of "symbol" when an app is built partially pic and partially static. The fix for this is to compile it to: lea symbol, %rax It would be better to codegen this as: movq $symbol, %rax but that will come next. The hard part of fixing this bug was fixing abi-isel, which was actively testing for the wrong behavior. Also, the RUN lines are completely impossible to understand what they are testing. To help with this, convert the -static x86-64 codegen tests to use filecheck. This is much more stable and makes it more clear what the codegen is expected to be. llvm-svn: 75382
-
Torok Edwin authored
Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379
-
- Jul 10, 2009
-
-
Chris Lattner authored
llvm-svn: 75276
-
Chris Lattner authored
add a couple of predicates to test for "stub style pic in PIC mode" and "stub style pic in dynamic-no-pic" mode. llvm-svn: 75273
-
Chris Lattner authored
need for other purposes. llvm-svn: 75243
-
Chris Lattner authored
done in ClassifyGlobalReference instead of reconstructing the info awkwardly. llvm-svn: 75240
-
Chris Lattner authored
is just a trivial wrapper around "ClassifyGlobalReference", which stole a ton of logic from LowerGlobalAddress. llvm-svn: 75237
-
Chris Lattner authored
llvm-svn: 75236
-
Chris Lattner authored
llvm-svn: 75232
-
Chris Lattner authored
more complex and slow than just directly testing what we care about. llvm-svn: 75231
-
Chris Lattner authored
split its handling out to PCRelGVRequiresExtraLoad, and simplify code based on this. llvm-svn: 75230
-
Chris Lattner authored
llvm-svn: 75229
-
- Jul 09, 2009
-
-
Owen Anderson authored
llvm-svn: 75153
-
Chris Lattner authored
llvm-svn: 75118
-
Chris Lattner authored
isel. llvm-svn: 75117
-
Chris Lattner authored
mode, instead of having asmprinter just "know" to print them. llvm-svn: 75109
-
Chris Lattner authored
llvm-svn: 75107
-
Chris Lattner authored
asmprinter do it. llvm-svn: 75104
-
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
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: 75086
-
- Jul 08, 2009
-
-
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
-
- Jul 07, 2009
-
-
Dale Johannesen authored
in PIC modes (in accordance with existing comment). gcc.apple/asm-block-25.c llvm-svn: 74886
-
- 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 01, 2009
-
-
Bill Wendling authored
bytes and not bytes. llvm-svn: 74624
-
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 a 256-bit register class and YMM registers. llvm-svn: 74469
-
- Jun 29, 2009
-
-
Owen Anderson authored
fence-atomic-fence down to just the atomic op. This is possible thanks to X86's relatively strong memory model, which guarantees that locked instructions (which are used to implement atomics) are implicit fences. llvm-svn: 74435
-
David Greene authored
Add more vector ValueTypes for AVX and other extended vector instruction sets. llvm-svn: 74427
-
- Jun 27, 2009
-
-
Chris Lattner authored
llvm-svn: 74378
-