- Nov 12, 2009
-
-
Jim Grosbach authored
Revert 86857. It's causing consumer-typeset to fail, and there's a better way to do it forthcoming anyway. llvm-svn: 86945
-
- Nov 11, 2009
-
-
Evan Cheng authored
Add TargetLowering::isLegalICmpImmediate. It tells LSR what immediate can be folded into target icmp instructions. llvm-svn: 86858
-
Jim Grosbach authored
llvm-svn: 86857
-
Jim Grosbach authored
The TBB and TBH instructions for Thumb2 are really handy for jump tables, but can only branch forward. To best take advantage of them, we'd like to adjust the basic blocks around a bit when reasonable. This patch puts basics in place to do that, with a super-simple algorithm for backwards jump table targets that creates a new branch after the jump table which branches backwards. Real heuristics for reordering blocks or other modifications rather than inserting branches will follow. llvm-svn: 86791
-
- Nov 10, 2009
-
-
Evan Cheng authored
[r0, #2 * 4] Now [r0, #8] This makes Thumb2 assembly more uniform and frankly the scale doesn't add much. llvm-svn: 86707
-
Evan Cheng authored
llvm-svn: 86706
-
David Goodwin authored
llvm-svn: 86634
-
David Goodwin authored
Allow targets to specify register classes whose member registers should not be renamed to break anti-dependencies. llvm-svn: 86628
-
Jim Grosbach authored
not necessary. llvm-svn: 86621
-
- Nov 09, 2009
-
-
Jim Grosbach authored
llvm-svn: 86604
-
Jim Grosbach authored
llvm-svn: 86602
-
Jim Grosbach authored
llvm-svn: 86548
-
Jim Grosbach authored
llvm-svn: 86494
-
- Nov 08, 2009
-
-
Jim Grosbach authored
Use aligned load/store instructions for spilling Q registers when we know the stack slot is 128 bit aligned llvm-svn: 86425
-
Evan Cheng authored
llvm-svn: 86423
-
- Nov 07, 2009
-
-
Jim Grosbach authored
llvm-svn: 86408
-
Jim Grosbach authored
llvm-svn: 86404
-
Evan Cheng authored
llvm-svn: 86400
-
Chris Lattner authored
Please verify. llvm-svn: 86397
-
Anton Korobeynikov authored
Add assert in asmprinter to catch such cases and xfail the tests. PR is to be filled. llvm-svn: 86375
-
Jeffrey Yasskin authored
MachineRelocations, "stub" always refers to a far-call stub or a load-a-faraway-global stub, so this patch adds "Far" to the term. (Other stubs are used for lazy compilation and dlsym address replacement.) The variable was also inconsistent between the positive and negative sense, and the positive sense ("NeedStub") was more demanding than is accurate (since a nearby-enough function can be called directly even if the platform often requires a stub). Since the negative sense causes double-negatives, I switched to "MayNeedFarStub" globally. llvm-svn: 86363
-
Evan Cheng authored
llvm-svn: 86330
-
Evan Cheng authored
except it doesn't care if the definitions' virtual registers differ. This is used by machine LICM and other MI passes to perform CSE. - Teach Thumb2InstrInfo::isIdentical() to check two t2LDRpci_pic are identical. Since pc relative constantpool entries are always different, this requires it it check if the values can actually the same. llvm-svn: 86328
-
Ted Kremenek authored
llvm-svn: 86325
-
Johnny Chen authored
was wrong and too aggressive in the sense that DPSoRegFrm includes both constant shifts (with Inst{4} = 0) and register controlled shifts (with Inst{4} = 1 and Inst{7} = 0). The 'rr' fragment of the multiclass definitions actually means register/register with no shift, see A8-11. llvm-svn: 86319
-
Jim Grosbach authored
llvm-svn: 86310
-
Evan Cheng authored
load of a GV from constantpool and then add pc. It allows the code sequence to be rematerializable so it would be hoisted by machine licm. - Add a late pass to break these pseudo instructions into a number of real instructions. Also move the code in Thumb2 IT pass that breaks up t2MOVi32imm to this pass. This is done before post regalloc scheduling to allow the scheduler to proper schedule these instructions. It also allow them to be if-converted and shrunk by later passes. llvm-svn: 86304
-
Anton Korobeynikov authored
llvm-svn: 86303
-
Bob Wilson authored
will not accept negative values for these. LLVM's default operand printing sign extends values, so that valid unsigned values appear as negative immediates. Print all VMOV immediate operands as hex values to resolve this. Radar 7372576. llvm-svn: 86301
-
- Nov 06, 2009
-
-
Evan Cheng authored
Remove ARMPCLabelIndex from ARMISelLowering. Use ARMFunctionInfo::createConstPoolEntryUId() instead. llvm-svn: 86294
-
Daniel Dunbar authored
llvm-svn: 86251
-
Dan Gohman authored
llvm-svn: 86199
-
- Nov 05, 2009
-
-
Dan Gohman authored
llvm-svn: 86149
-
Jim Grosbach authored
llvm-svn: 86068
-
Jim Grosbach authored
aggressive testing of dynamic stack alignment. Note that this is off by default, and enabled for LLCBETA nightly results. llvm-svn: 86064
-
- Nov 04, 2009
-
-
Jim Grosbach authored
llvm-svn: 86057
-
Jim Grosbach authored
saved instructions even if no stack adjustment for those saves is needed. llvm-svn: 86056
-
Jakob Stoklund Olesen authored
The KILL pseudo-instruction may survive to the asm printer pass, just like the IMPLICIT_DEF. Print the KILL as a comment instead of just leaving a blank line in the output. With -asm-verbose=0, a blank line is printed, like IMPLICIT?DEF. llvm-svn: 86041
-
Evan Cheng authored
llvm-svn: 86019
-
Evan Cheng authored
llvm-svn: 85980
-