- Jan 06, 2014
-
-
Venkatraman Govindaraju authored
llvm-svn: 198580
-
Bill Wendling authored
This moves the check up into the parent class so that all targets can use it without having to copy (and keep in sync) the same error message. llvm-svn: 198579
-
Saleem Abdulrasool authored
Move the ARM EHABI unwind opcode definitions from the ARM MCTargetDesc into LLVM Support. This enables sharing of the definitions across the ARM target code as well as llvm-readobj. This will allow implementation of the unwind decoding in llvm-readobj. llvm-svn: 198576
-
- Jan 05, 2014
-
-
Benjamin Kramer authored
llvm-svn: 198567
-
Craig Topper authored
Add some tests to validate correct register selection, including a fix to an existing test which was requiring the *wrong* output. Patch from David Woodhouse. llvm-svn: 198566
-
Craig Topper authored
Remove opcode from MOV32r0 that I accidentally left when I converted it to Pseudo. Remove FIXME as well. llvm-svn: 198564
-
Saleem Abdulrasool authored
Fix indentation, name registers similar to ARM ARM. No functionality change! llvm-svn: 198563
-
Elena Demikhovsky authored
AVX-512: changed property name from "neverHasSideEffects=1" to "hasSideEffects=0", added this property to VMOVSS/VMOVSD; Optimized a truncate pattern. llvm-svn: 198562
-
Elena Demikhovsky authored
Removed vzeroupper from AVX-512 mode - our optimization gude does not recommend to insert vzeroupper at all. llvm-svn: 198557
-
Craig Topper authored
llvm-svn: 198551
-
Craig Topper authored
llvm-svn: 198550
-
Craig Topper authored
llvm-svn: 198547
-
Craig Topper authored
Mark x86 _alt instructions as AsmParserOnly so they will be omitted from disassembler without string matches. llvm-svn: 198545
-
Craig Topper authored
Use new ForceDisassemble flag on the 2-byte forms of INC/DEC for 32-bit mode and remove disassmbler table emitter hack. llvm-svn: 198544
-
Craig Topper authored
Add a new x86 specific instruction flag to force some isCodeGenOnly instructions to go through to the disassembler tables without resorting to string matches. Apply flag to all _REV instructions. llvm-svn: 198543
-
Venkatraman Govindaraju authored
llvm-svn: 198533
-
Bill Wendling authored
__builtin_returnaddress requires that the value passed into is be a constant. However, at -O0 even a constant expression may not be converted to a constant. Emit an error message intead of crashing. llvm-svn: 198531
-
Craig Topper authored
Mark the 64-bit x86 push/pop instructions as In64BitMode. Mark the corresponding 32-bit versions with the same encodings Not64BitMode. Remove hack from tablegen disassembler table emitter. Fix bad test. llvm-svn: 198530
-
- Jan 04, 2014
-
-
Craig Topper authored
Tag x86 move to/from debug/control registers with Not64BitMode/In64BitMode. Remove disassembler hack. llvm-svn: 198515
-
Venkatraman Govindaraju authored
llvm-svn: 198484
-
Venkatraman Govindaraju authored
Fixes PR18356. llvm-svn: 198480
-
Craig Topper authored
Remove JMP64pcrel32 (jmpq ). There are no tests for it. I'm pretty sure it won't be emitted correctly since it was set to NoImm. And I can't prove that gas accepts 'jmpq' with an immediate either. Remove the special case for it from the disassembler table generator. llvm-svn: 198475
-
- Jan 03, 2014
-
-
Rafael Espindola authored
Before this patch any program that wanted to know the final symbol name of a GlobalValue had to link with Target. This patch implements a compromise solution where the mangler uses DataLayout. This way, any tool that already links with Target (llc, clang) gets the exact behavior as before and new IR files can be mangled without linking with Target. With this patch the mangler is constructed with just a DataLayout and DataLayout is extended to include the information the Mangler needs. llvm-svn: 198438
-
Ana Pazos authored
llvm-svn: 198437
-
- Jan 02, 2014
-
-
Hal Finkel authored
llvm-svn: 198362
-
Hal Finkel authored
CR logicals (crand, crxor, etc.) on the P7 need to be in the first slot of each dispatch group. The old itinerary entry was just wrong (but has not mattered because we don't generate these instructions). This will matter when, in an upcoming commit, we start generating these instructions. llvm-svn: 198359
-
Hal Finkel authored
Several of the 64-bit fixed-point instructions with immediate operands were using the 32-bit (i32) operand nodes instead of the corresponding 64-bit (i64) operand definitions (u16imm instead of u16imm64, for example). This error has had no effect so far, but would have caused type-checking violations with an upcoming change. llvm-svn: 198356
-
Craig Topper authored
llvm-svn: 198336
-
Craig Topper authored
Mark PUSHFS64/PUSHGS64/POPFS64/POPGS64 as In64BitMode and remove the hack from the disassembler table builder. llvm-svn: 198327
-
Craig Topper authored
Mark all x86 Int_ and _Int patterns as isCodeGenOnly so the disassembler table builder doesn't need to string match them to exclude them. llvm-svn: 198323
-
Logan Chien authored
llvm-svn: 198313
-
Rafael Espindola authored
This patch makes it possible to select the ABI with -mattr. It will be used to forward clang's -target-abi option to llvm's CodeGen. llvm-svn: 198304
-
- Jan 01, 2014
-
-
Rafael Espindola authored
During the years there have been some attempts at figuring out how to align byval arguments. A look at the commit log suggests that they were * Use the ABI alignment. * When that was not sufficient for x86-64, I added the 's' specification to DataLayout. * When that was not sufficient Evan added the virtual getByValTypeAlignment. * When even that was not sufficient, we just got the FE to add the alignment to the byval. This patch is just a simple cleanup that removes my first attempt at fixing the problem. I also added an AArch64 implementation of getByValTypeAlignment to make sure this patch is a nop. I also left the 's' parsing for backward compatibility. I will send a short email to llvmdev about the change for anyone maintaining an out of tree target. llvm-svn: 198287
-
Venkatraman Govindaraju authored
llvm-svn: 198286
-
Craig Topper authored
Remove modifierType/Base from X86 disassembler tables as they are no longer used. Removes ~11.5K from static tables. llvm-svn: 198284
-
Venkatraman Govindaraju authored
llvm-svn: 198281
-
Venkatraman Govindaraju authored
[SparcV9]: Use SRL instead of SLL to clear top 32-bits in ctpop:i32. SLL does not clear top 32 bit, only SRL does. llvm-svn: 198280
-
NAKAMURA Takumi authored
llvm-svn: 198279
-
Craig Topper authored
Remove need for MODIFIER_OPCODE in the disassembler tables. AddRegFrms are really more like OrRegFrm so we don't need a difference since we can just mask bits. llvm-svn: 198278
-
Elena Demikhovsky authored
Printing rounding control. Enncoding for EVEX_RC (rounding control). llvm-svn: 198277
-