- Jun 25, 2012
-
-
Craig Topper authored
Remove codegen only instruction in favor of one that has the same definition. Make some pattern operands more explicit about types. llvm-svn: 159126
-
- Jun 24, 2012
-
-
Craig Topper authored
llvm-svn: 159109
-
Craig Topper authored
llvm-svn: 159108
-
Craig Topper authored
llvm-svn: 159107
-
Craig Topper authored
llvm-svn: 159105
-
Craig Topper authored
llvm-svn: 159090
-
- Jun 23, 2012
-
-
Craig Topper authored
llvm-svn: 159073
-
Craig Topper authored
Remove intrinsic specific instructions for 128-bit (V)CVTDQ2PD. Replace with intrinsic patterns. Mem forms omitted because the load size is only 64-bits. llvm-svn: 159070
-
- Jun 15, 2012
-
-
Craig Topper authored
llvm-svn: 158497
-
Pete Cooper authored
Can someone with more knowledge of this please look at other entries to see if others need moved. llvm-svn: 158474
-
- Jun 07, 2012
-
-
Manman Ren authored
The commit is intended to fix rdar://11540023. It is implemented as part of peephole optimization. We can actually implement this in the SelectionDAG lowering phase. llvm-svn: 158122
-
- Jun 06, 2012
-
-
Benjamin Kramer authored
There are some that I didn't remove this round because they looked like obvious stubs. There are dead variables in gtest too, they should be fixed upstream. llvm-svn: 158090
-
- Jun 04, 2012
-
-
Craig Topper authored
llvm-svn: 157917
-
Craig Topper authored
Add VFMADDSUB and VFMSUBADD FMA instructions to folding tables. Also add 213 forms of scalar FMA instructions. llvm-svn: 157914
-
- Jun 03, 2012
-
-
Manman Ren authored
llvm-svn: 157896
-
- Jun 01, 2012
-
-
Manman Ren authored
This patch will optimize the following: sub r1, r3 cmp r3, r1 or cmp r1, r3 bge L1 TO sub r1, r3 bge L1 or ble L1 If the branch instruction can use flag from "sub", then we can eliminate the "cmp" instruction. llvm-svn: 157831
-
Hans Wennborg authored
This implements codegen support for accesses to thread-local variables using the local-dynamic model, and adds a clean-up pass so that the base address for the TLS block can be re-used between local-dynamic access on an execution path. llvm-svn: 157818
-
Craig Topper authored
llvm-svn: 157802
-
- May 31, 2012
-
-
Manman Ren authored
This patch will optimize the following movq %rdi, %rax subq %rsi, %rax cmovsq %rsi, %rdi movq %rdi, %rax to cmpq %rsi, %rdi cmovsq %rsi, %rdi movq %rdi, %rax Perform this optimization if the actual result of SUB is not used. rdar: 11540023 llvm-svn: 157755
-
Elena Demikhovsky authored
I disabled FMA3 autodetection, since the result may differ from expected for some benchmarks. I added tests for GodeGen and intrinsics. I did not change llvm.fma.f32/64 - it may be done later. llvm-svn: 157737
-
- May 20, 2012
-
-
Jakob Stoklund Olesen authored
It can sometimes be used in addressing modes that don't support %ESP. llvm-svn: 157165
-
- May 08, 2012
-
-
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
-
- Apr 20, 2012
-
-
Craig Topper authored
Convert some uses of XXXRegisterClass to &XXXRegClass. No functional change since they are equivalent. llvm-svn: 155186
-
- Apr 15, 2012
-
-
Elena Demikhovsky authored
llvm-svn: 154761
-
- Mar 17, 2012
-
-
Craig Topper authored
Reorder includes in Target backends to following coding standards. Remove some superfluous forward declarations. llvm-svn: 152997
-
- Mar 09, 2012
-
-
Craig Topper authored
llvm-svn: 152391
-
- Feb 22, 2012
-
-
Craig Topper authored
Make all pointers to TargetRegisterClass const since they are all pointers to static data that should not be modified. llvm-svn: 151134
-
- Feb 18, 2012
-
-
Jia Liu authored
Emacs-tag and some comment fix for all ARM, CellSPU, Hexagon, MBlaze, MSP430, PPC, PTX, Sparc, X86, XCore. llvm-svn: 150878
-
- Feb 16, 2012
-
-
Jakob Stoklund Olesen authored
The different calling conventions and call-preserved registers are represented with regmask operands that are added dynamically. llvm-svn: 150708
-
- Feb 09, 2012
-
-
Jakob Stoklund Olesen authored
Calls clobber the flags, but when using register masks there is no EFLAGS<imp-def> operand. llvm-svn: 150117
-
- Jan 25, 2012
-
-
Craig Topper authored
Custom lower PSIGN and PSHUFB intrinsics to their corresponding target specific nodes so we can remove the isel patterns. llvm-svn: 148933
-
Craig Topper authored
Custom lower phadd and phsub intrinsics to target specific nodes. Remove the patterns that are no longer necessary. llvm-svn: 148927
-
- Jan 20, 2012
-
-
David Blaikie authored
llvm-svn: 148578
-
- Jan 19, 2012
-
-
Craig Topper authored
llvm-svn: 148467
-
- Jan 14, 2012
-
-
Craig Topper authored
Add a bunch of AVX instructions to the folding tables. Also fixed the alignment on 256-bit AVX2 instructions. llvm-svn: 148194
-
- Jan 13, 2012
-
-
Craig Topper authored
Convert SHUFPD with the same register for both sources to PSHUFD if it would prevent a register copy. Similar to SHUFPS, but requires the mask to be converted. llvm-svn: 148112
-
Craig Topper authored
Make X86 instruction selection use 256-bit VPXOR for build_vector of all ones if AVX2 is enabled. This gives the ExeDepsFix pass a chance to choose FP vs int as appropriate. Also use v8i32 as the type for getZeroVector if AVX2 is enabled. This is consistent with SSE2 using prefering v4i32. llvm-svn: 148108
-
Craig Topper authored
llvm-svn: 148101
-
- Dec 14, 2011
-
-
Evan Cheng authored
to finalize MI bundles (i.e. add BUNDLE instruction and computing register def and use lists of the BUNDLE instruction) and a pass to unpack bundles. - Teach more of MachineBasic and MachineInstr methods to be bundle aware. - Switch Thumb2 IT block to MI bundles and delete the hazard recognizer hack to prevent IT blocks from being broken apart. llvm-svn: 146542
-
- Dec 09, 2011
-
-
Benjamin Kramer authored
llvm-svn: 146256
-