- May 08, 2012
-
-
Jakob Stoklund Olesen authored
Share the CalleeSavedRegs defs between all calling conventions having no callee-saved registers. Patch by Yiannis Tsiouris! llvm-svn: 156382
-
Craig Topper authored
llvm-svn: 156375
-
Jakob Stoklund Olesen authored
The getPointerRegClass() hook can return register classes that depend on the calling convention of the current function (ptr_rc_tailcall). So far, we have been able to infer the calling convention from the subtarget alone, but as we add support for multiple calling conventions per target, that no longer works. Patch by Yiannis Tsiouris! llvm-svn: 156328
-
- May 07, 2012
-
-
Chad Rosier authored
single use. rdar://11360370 llvm-svn: 156316
-
Manman Ren authored
This patch will optimize -(x != 0) on X86 FROM cmpl $0x01,%edi sbbl %eax,%eax notl %eax TO negl %edi sbbl %eax %eax In order to generate negl, I added patterns in Target/X86/X86InstrCompiler.td: def : Pat<(X86sub_flag 0, GR32:$src), (NEG32r GR32:$src)>; rdar: 10961709 llvm-svn: 156312
-
Craig Topper authored
llvm-svn: 156287
-
Craig Topper authored
llvm-svn: 156281
-
- May 06, 2012
-
-
Craig Topper authored
Use MVT instead of EVT as the argument to all the shuffle decode functions. Simplify some of the decode functions. llvm-svn: 156268
-
Craig Topper authored
Add VPERMQ/VPERMPD to the list of target specific shuffles that can be looked through for DAG combine purposes. llvm-svn: 156266
-
Craig Topper authored
llvm-svn: 156265
-
- May 05, 2012
-
-
Jim Grosbach authored
llvm-svn: 156241
-
Benjamin Kramer authored
This will be used to determine whether it's profitable to turn a select into a branch when the branch is likely to be predicted. Currently enabled for everything but Atom on X86 and Cortex-A9 devices on ARM. I'm not entirely happy with the name of this flag, suggestions welcome ;) llvm-svn: 156233
-
- May 04, 2012
-
-
Preston Gurd authored
llvm-svn: 156194
-
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
-
- May 03, 2012
-
-
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
-
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
-
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
-
Craig Topper authored
llvm-svn: 155982
-
Jakub Staszak authored
llvm-svn: 155959
-
Jakub Staszak authored
llvm-svn: 155956
-
- May 01, 2012
-
-
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
-
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
-
Craig Topper authored
llvm-svn: 155896
-
Craig Topper authored
llvm-svn: 155891
-
Craig Topper authored
Remove HasSSE2 from AES and CLMUL predicates. It's now implied by the HasAES and HasCLMUL predicates. llvm-svn: 155890
-
Craig Topper authored
llvm-svn: 155888
-
Craig Topper authored
llvm-svn: 155885
-
Manman Ren authored
This patch will optimize -(x != 0) on X86 FROM cmpl $0x01,%edi sbbl %eax,%eax notl %eax TO negl %edi sbbl %eax %eax llvm-svn: 155853
-