- Jan 13, 2012
-
-
Duncan Sands authored
llvm-svn: 148136
-
Devang Patel authored
Revert r148131, it was committed before it was ready. llvm-svn: 148134
-
Stepan Dyatkovskiy authored
llvm-svn: 148133
-
Stepan Dyatkovskiy authored
LoopUnswitch: All helper data that is collected during loop-unswitch iterations was moved to separated class (LUAnalysisCache). llvm-svn: 148132
-
Devang Patel authored
llvm-svn: 148131
-
Devang Patel authored
llvm-svn: 148128
-
Pete Cooper authored
llvm-svn: 148123
-
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
llvm-svn: 148109
-
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
-
NAKAMURA Takumi authored
llvm-svn: 148107
-
Craig Topper authored
llvm-svn: 148106
-
Andrew Trick authored
llvm-svn: 148105
-
Andrew Trick authored
llvm-svn: 148104
-
Andrew Trick authored
llvm-svn: 148103
-
Andrew Trick authored
llvm-svn: 148102
-
Craig Topper authored
llvm-svn: 148101
-
Craig Topper authored
Fix typo in PerformAddCombine that caused any vector type to be checked for horizontal add/sub if AVX2 is enabled. This caused an assert to fail for non 128/256-bit vectors when done before type legalizing. Fixes PR11749. llvm-svn: 148096
-
Jakob Stoklund Olesen authored
The code type was always identical to a string anyway. Now it is simply a synonym. The code literal syntax [{...}] is still valid. llvm-svn: 148092
-
Jakob Stoklund Olesen authored
This avoids a gazillion StringMap and dynamic_cast calls, making TableGen run 3x faster. llvm-svn: 148091
-
Evan Cheng authored
overly conservative. It was concerned about cases where it would prohibit folding simple [r, c] addressing modes. e.g. ldr r0, [r2] ldr r1, [r2, #4] => ldr r0, [r2], #4 ldr r1, [r2] Change the logic to look for such cases which allows it to form indexed memory ops more aggressively. rdar://10674430 llvm-svn: 148086
-
Bill Wendling authored
llvm-svn: 148077
-
Dan Gohman authored
the optimizer doesn't eliminate objc_retainBlock calls which are needed for their side effect of copying blocks onto the heap. This implements rdar://10361249. llvm-svn: 148076
-
Pete Cooper authored
llvm-svn: 148067
-
Bill Wendling authored
llvm-svn: 148065
-
Bill Wendling authored
The registers are placed into the saved registers list in the reverse order, which is why the original loop was written to loop backwards. llvm-svn: 148064
-
- Jan 12, 2012
-
-
Pete Cooper authored
Added FPOW, FEXP, FLOG to PromoteNode so that custom actions can be set to Promote for those operations. Sorry, no test case yet llvm-svn: 148050
-
Elena Demikhovsky authored
lc: X86ISelLowering.cpp:6480: llvm::SDValue llvm::X86TargetLowering::LowerVECTOR_SHUFFLE(llvm::SDValue, llvm::SelectionDAG&) const: Assertion `V1.getOpcode() != ISD::UNDEF&& "Op 1 of shuffle should not be undef"' failed. Added a test. llvm-svn: 148044
-
Evan Cheng authored
killed registers are needed below the insertion point, then unset the kill marker. Sorry I'm not able to find a reduced test case. rdar://10660944 llvm-svn: 148043
-
Rafael Espindola authored
Patch by Brian Anderson. llvm-svn: 148042
-
Rafael Espindola authored
This patch uses tcb_spare field in the tcb structure to store info. Patch by Jyun-Yan You. llvm-svn: 148041
-
Rafael Espindola authored
Uses the pvArbitrary slot of the TIB, which is reserved for applications. We only support frames with a static size. llvm-svn: 148040
-
Devang Patel authored
llvm-svn: 148039
-
Devang Patel authored
llvm-svn: 148034
-
Evan Cheng authored
llvm-svn: 148033
-
Devang Patel authored
We are using one parser to parse att as well as intel style syntax. llvm-svn: 148032
-
Jakob Stoklund Olesen authored
llvm-svn: 148031
-
Benjamin Kramer authored
Restore the (obviously wrong) behavior from before r147938 without relying on undefined behavior. Add a fat FIXME note. This should fix nightly tester failures. llvm-svn: 148030
-
Nadav Rotem authored
Fix a bug in the AVX 256-bit shuffle code in cases where the splat element is on the boundary of two 128-bit vectors. The attached testcase was stuck in an endless loop. llvm-svn: 148027
-
Benjamin Kramer authored
X86: Generalize the x << (y & const) optimization to also catch masks with more set bits set than 31 or 63. llvm-svn: 148024
-