- Jul 06, 2011
-
-
Evan Cheng authored
llvm-svn: 134457
-
- Jul 05, 2011
-
-
Eli Friedman authored
Add assembler/disassembler support for non-AVX pclmulqdq. While I'm here, use proper aliases for the pclmullqlqdq and friends. PR10269. llvm-svn: 134424
-
- Jul 02, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 134311
-
Jakob Stoklund Olesen authored
Add a MI->emitError() method that the backend can use to report errors related to inline assembly. Call it from X86FloatingPoint.cpp when the constraints are wrong. This enables proper clang diagnostics from the backend: $ clang -c pr30848.c pr30848.c:5:12: error: Inline asm output regs must be last on the x87 stack __asm__ ("" : "=u" (d)); /* { dg-error "output regs" } */ ^ 1 error generated. llvm-svn: 134307
-
Eric Christopher authored
up the valid constant check earlier. rdar://9692967 llvm-svn: 134286
-
Evan Cheng authored
llvm-svn: 134281
-
Evan Cheng authored
llvm-svn: 134279
-
- Jul 01, 2011
-
-
Eli Friedman authored
llvm-svn: 134264
-
Evan Cheng authored
llvm-svn: 134259
-
Evan Cheng authored
itineraries. - Refactor TargetSubtarget to be based on MCSubtargetInfo. - Change tablegen generated subtarget info to initialize MCSubtargetInfo and hide more details from targets. llvm-svn: 134257
-
Evan Cheng authored
llvm-svn: 134244
-
Bill Wendling authored
llvm-svn: 134208
-
Jakob Stoklund Olesen authored
We would put the return value from long double functions in the wrong register. This fixes gcc.c-torture/execute/conversion.c llvm-svn: 134205
-
Bill Wendling authored
encoding for the registers it knows about. Return -1 if it can't handle that register. llvm-svn: 134202
-
- Jun 30, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 134193
-
Evan Cheng authored
be the first encoded as the first feature. It then uses the CPU name to look up features / scheduling itineray even though clients know full well the CPU name being used to query these properties. The fix is to just have the clients explictly pass the CPU name! llvm-svn: 134127
-
Joerg Sonnenberger authored
llvm-svn: 134126
-
Eric Christopher authored
we didn't have an opcode for 64-bit constant or expressions. Fixes rdar://9692967 llvm-svn: 134121
-
Jakob Stoklund Olesen authored
Some x86-32 calls pop values off the stack, and we need to readjust the stack pointer after the call. This happens when ADJCALLSTACKUP is eliminated. It could happen that spill code was inserted between the CALL and ADJCALLSTACKUP instructions, and we would compute wrong stack pointer offsets for those frame index references. Fix this by inserting the stack pointer adjustment immediately after the call instead of where the ADJCALLSTACKUP instruction was erased. I don't have a test case since we don't currently insert code in that position. We will soon, though. I am testing a regalloc patch that didn't work on Linux because of this. llvm-svn: 134113
-
- Jun 29, 2011
-
-
Eric Christopher authored
via vectors. Part of rdar://9643582 llvm-svn: 134079
-
- Jun 28, 2011
-
-
Evan Cheng authored
llvm-svn: 134030
-
Evan Cheng authored
llvm-svn: 134027
-
Evan Cheng authored
llvm-svn: 134026
-
Evan Cheng authored
llvm-svn: 134024
-
Evan Cheng authored
sink them into MC layer. - Added MCInstrInfo, which captures the tablegen generated static data. Chang TargetInstrInfo so it's based off MCInstrInfo. llvm-svn: 134021
-
Jakob Stoklund Olesen authored
Drop the FpMov instructions, use plain COPY instead. Drop the FpSET/GET instruction for accessing fixed stack positions. Instead use normal COPY to/from ST registers around inline assembly, and provide a single new FpPOP_RETVAL instruction that can access the return value(s) from a call. This is still necessary since you cannot tell from the CALL instruction alone if it returns anything on the FP stack. Teach fast isel to use this. This provides a much more robust way of handling fixed stack registers - we can tolerate arbitrary FP stack instructions inserted around calls and inline assembly. Live range splitting could sometimes break x87 code by inserting spill code in unfortunate places. As a bonus we handle floating point inline assembly correctly now. llvm-svn: 134018
-
- Jun 27, 2011
-
-
Evan Cheng authored
llvm-svn: 133944
-
Evan Cheng authored
into XXXGenRegisterInfo.inc. llvm-svn: 133922
-
Jakob Stoklund Olesen authored
This allows for more live scratch registers which is needed to handle live ST registers before return and inline asm instructions. llvm-svn: 133903
-
- Jun 25, 2011
-
-
Chad Rosier authored
llvm-svn: 133874
-
Chad Rosier authored
<rdar://problem/9483883> llvm-svn: 133858
-
Douglas Gregor authored
llvm-svn: 133853
-
Evan Cheng authored
llvm-svn: 133847
-
Evan Cheng authored
llvm-svn: 133846
-
Jim Grosbach authored
Move the target-specific RecordRelocation logic out of the generic MC MachObjectWriter and into the target-specific object writers. This allows nuking quite a bit of target knowledge from the supposedly target-independent bits in lib/MC. llvm-svn: 133844
-
- Jun 24, 2011
-
-
Chad Rosier authored
overheads. No functional change intended. llvm-svn: 133824
-
Evan Cheng authored
- Rename TargetRegisterDesc to MCRegisterDesc. llvm-svn: 133820
-
Evan Cheng authored
target machine from those that are only needed by codegen. The goal is to sink the essential target description into MC layer so we can start building MC based tools without needing to link in the entire codegen. First step is to refactor TargetRegisterInfo. This patch added a base class MCRegisterInfo which TargetRegisterInfo is derived from. Changed TableGen to separate register description from the rest of the stuff. llvm-svn: 133782
-
- Jun 23, 2011
-
-
Eli Friedman authored
llvm-svn: 133759
-
Evan Cheng authored
llvm-svn: 133739
-