- May 04, 2012
-
-
Justin Holewinski authored
This patch adds a new NVPTX back-end to LLVM which supports code generation for NVIDIA PTX 3.0. This back-end will (eventually) replace the current PTX back-end, while maintaining compatibility with it. The new target machines are: nvptx (old ptx32) => 32-bit PTX nvptx64 (old ptx64) => 64-bit PTX The sources are based on the internal NVIDIA NVPTX back-end, and contain more functionality than the current PTX back-end currently provides. NV_CONTRIB llvm-svn: 156196
-
Sebastian Pop authored
Added missing CMN case in Thumb2SizeReduction pass so that LLVM emits 16-bits encoding of CMN instructions. llvm-svn: 156195
-
Preston Gurd authored
llvm-svn: 156194
-
Matt Beaumont-Gay authored
llvm-svn: 156189
-
Hans Wennborg authored
This moves the logic for selecting a TLS model to a single place, instead of the previous three (ARM, Mips, and X86 which already uses this function). llvm-svn: 156162
-
Craig Topper authored
llvm-svn: 156159
-
Craig Topper authored
llvm-svn: 156158
-
Craig Topper authored
llvm-svn: 156157
-
Craig Topper authored
llvm-svn: 156156
-
Craig Topper authored
llvm-svn: 156154
-
Jakob Stoklund Olesen authored
This information in now computed by TableGen. llvm-svn: 156152
-
Jakob Stoklund Olesen authored
The TargetLowering construction needs to use a valid TargetRegisterInfo instance. llvm-svn: 156146
-
Jakob Stoklund Olesen authored
This iterator class provides a more abstract interface to the (Idx, Mask) lists of super-registers for a register class. The layout of the tables shouldn't be exposed to clients. llvm-svn: 156144
-
Jakob Stoklund Olesen authored
TargetRegisterClass now gives access to the necessary tables. llvm-svn: 156122
-
Kevin Enderby authored
for the assembler and disassembler. Which were not being set/read correctly for offsets greater than 22 bits in some cases. Changes to lib/Target/ARM/ARMAsmBackend.cpp from Gideon Myles! llvm-svn: 156118
-
- May 03, 2012
-
-
Sirish Pande authored
This patch creates and optimizes packets as per Hexagon ISA rules. llvm-svn: 156109
-
Silviu Baranga authored
llvm-svn: 156077
-
Sirish Pande authored
This adds new instructions for Hexagon V4 architecture. llvm-svn: 156071
-
Craig Topper authored
llvm-svn: 156060
-
Craig Topper authored
Fix 256-bit vpshuflw and vpshufhw immediate encoding to handle undefs in the lower half correctly. Missed in r155982. llvm-svn: 156059
-
Andrew Trick authored
The ensures that virtual registers always belong to an allocatable class. If your target attempts to create a vreg for an operand that has no allocatable register subclass, you will crash quickly. This ensures that targets define register classes as intended. llvm-svn: 156046
-
Preston Gurd authored
For Intel Atom, use ILP scheduling always, instead of ILP for 64 bit and Hybrid for 32 bit, since benchmarks show ILP scheduling is better most of the time. llvm-svn: 156028
-
- May 02, 2012
-
-
Preston Gurd authored
Lincroft and Medfield. llvm-svn: 156025
-
Jim Grosbach authored
llvm-svn: 156019
-
Preston Gurd authored
by providing the latencies for the instructions in X86InstrFPStack.td. llvm-svn: 155996
-
Manman Ren authored
The commit is intended to fix rdar://10961709. But it is the root cause of PR12720. Revert it for now. llvm-svn: 155992
-
Richard Barton authored
llvm-svn: 155983
-
Craig Topper authored
llvm-svn: 155982
-
Jakub Staszak authored
llvm-svn: 155959
-
Jakub Staszak authored
llvm-svn: 155956
-
- May 01, 2012
-
-
Jim Grosbach authored
Aliases for adding a negative immediate when using an explicit 'w' suffix. E.g., adds.w r2, #-16 adds.w r2, r2, #-16 addw r2, #-16 addw r2, #-16 addw r2, r2, #-16 rdar://11330769 llvm-svn: 155946
-
Jim Grosbach authored
Expressions for movw/movt don't always have an :upper16: or :lower16: on them and that's ok. When they don't, it's just a plain [0-65536] immediate result, effectively the same as a :lower16: variant kind. rdar://10550147 llvm-svn: 155941
-
Preston Gurd authored
This patch marks the X86 floating point stack registers ST0-ST7 as reserved in order to avoid assertion failures in the register scavenger. The assertion failures were “Bad machine code: Using an undefined physical register” and “Bad machine code: MBB exits via unconditional fall-through but its successor differs from its CFG successor!”. llvm-svn: 155930
-
Manman Ren authored
This patch will optimize the following cases on X86 (a > b) ? (a-b) : 0 (a >= b) ? (a-b) : 0 (b < a) ? (a-b) : 0 (b <= a) ? (a-b) : 0 FROM movl %edi, %ecx subl %esi, %ecx cmpl %edi, %esi movl $0, %eax cmovll %ecx, %eax TO xorl %eax, %eax subl %esi, %edi cmovll %eax, %edi movl %edi, %eax rdar: 10734411 llvm-svn: 155919
-
Alexey Samsonov authored
X86: Use StackRegister instead of FrameRegister in getFrameIndexReference (to generate debug info for local variables) if stack needs realignment llvm-svn: 155917
-
Benjamin Kramer authored
llvm-svn: 155915
-
Benjamin Kramer authored
llvm-svn: 155909
-
Bill Wendling authored
The TargetPassManager's default constructor wants to initialize the PassManager to 'null'. But it's illegal to bind a null reference to a null l-value. Make the ivar a pointer instead. PR12468 llvm-svn: 155902
-
Craig Topper authored
llvm-svn: 155899
-
Craig Topper authored
llvm-svn: 155897
-