- Jan 14, 2012
-
-
Andrew Trick authored
llvm-svn: 148173
-
Andrew Trick authored
llvm-svn: 148172
-
Andrew Trick authored
llvm-svn: 148171
-
Andrew Trick authored
llvm-svn: 148170
-
Evan Cheng authored
live across BBs before register allocation. This miscompiled 197.parser when a cmp + b are optimized to a cbnz instruction even though the CPSR def is live-in a successor. cbnz r6, LBB89_12 ... LBB89_12: ble LBB89_1 The fix consists of two parts. 1) Teach LiveVariables that some unallocatable registers might be liveouts so don't mark their last use as kill if they are. 2) ARM constantpool island pass shouldn't form cbz / cbnz if the conditional branch does not kill CPSR. rdar://10676853 llvm-svn: 148168
-
Chad Rosier authored
llvm-svn: 148167
-
Dan Gohman authored
llvm-svn: 148164
-
Rafael Espindola authored
llvm-svn: 148156
-
- Jan 13, 2012
-
-
Jakob Stoklund Olesen authored
The QQ and QQQQ registers are not 'real', they are pseudo-registers used to model some vld and vst instructions. This makes the call clobber lists longer, but I intend to get rid of those soon. llvm-svn: 148151
-
Rafael Espindola authored
llvm-svn: 148150
-
Eli Friedman authored
llvm-svn: 148149
-
Andrew Trick authored
llvm-svn: 148143
-
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
-
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
-
Craig Topper authored
llvm-svn: 148106
-
Andrew Trick authored
llvm-svn: 148105
-
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
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
-
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
-