summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Unbreak msvc.NAKAMURA Takumi2011-09-132-2/+2
| | | | llvm-svn: 139581
* Disable IV rewriting by default. See PR10916.Andrew Trick2011-09-133-3/+3
| | | | llvm-svn: 139579
* Generalize test case to handle multiple indvars modes.Andrew Trick2011-09-131-3/+6
| | | | llvm-svn: 139578
* Generalize this test's CHECK statements to handle different indvars modes.Andrew Trick2011-09-131-2/+2
| | | | llvm-svn: 139577
* This test only makes sense with -enable-iv-rewrite.Andrew Trick2011-09-131-3/+4
| | | | llvm-svn: 139576
* Zap some junk from the ARM instruction descriptions.Eli Friedman2011-09-134-67/+0
| | | | llvm-svn: 139575
* [indvars] Fix bugs in floating point IV range checks noticed by inspection.Andrew Trick2011-09-132-13/+13
| | | | llvm-svn: 139574
* Silence false positive uninitialized variable warnings from GCC.Benjamin Kramer2011-09-131-3/+3
| | | | llvm-svn: 139573
* Extract live range calculations from SplitKit.Jakob Stoklund Olesen2011-09-135-306/+516
| | | | | | | | SplitKit will soon need two copies of these data structures, and the algorithms will also be useful when LiveIntervalAnalysis becomes independent of LiveVariables. llvm-svn: 139572
* Add comment to clarify the behavior of a helper in DSE.Eli Friedman2011-09-131-0/+2
| | | | llvm-svn: 139571
* Correct grammar.Eli Friedman2011-09-131-1/+1
| | | | llvm-svn: 139565
* Fix the assembler strings for a couple of atomic instructions. Doesn't ↵Eli Friedman2011-09-131-2/+2
| | | | | | really matter much in practice, but it's a bit cleaner. llvm-svn: 139563
* Tidy up a bit.Jim Grosbach2011-09-121-18/+9
| | | | llvm-svn: 139559
* Conditionalize indvars test that relies on SCEV expansion of geps,Andrew Trick2011-09-121-4/+13
| | | | | | which is only relevant with canonical IVs llvm-svn: 139556
* Change testcase commandline to be more strict and silence buildbotsBruno Cardoso Lopes2011-09-121-1/+1
| | | | llvm-svn: 139554
* Fix PR10845. SUBREG_TO_REG shouldn't be used when the input andBruno Cardoso Lopes2011-09-122-8/+22
| | | | | | destination types are equal! llvm-svn: 139553
* indvars test only relevant for -enable-iv-rewrite.Andrew Trick2011-09-121-1/+3
| | | | | | Otherwise this case is now covered by no-iv-rewrite.ll. llvm-svn: 139552
* Fix a failing ELF Thumb test. I _think_ this is right, but it's not totally ↵Owen Anderson2011-09-121-1/+1
| | | | | | clear to me what this test is doing. Could someone on an ELF platform check? llvm-svn: 139549
* Introduce a bit of a hack.Bill Wendling2011-09-121-15/+44
| | | | | | | | | | | | | | | | | | Splitting a landing pad takes considerable care because of PHIs and other nasties. The problem is that the jump table needs to jump to the landing pad block. However, the landing pad block can be jumped to only by an invoke instruction. So we clone the landingpad instruction into its own basic block, have the invoke jump to there. The landingpad instruction's basic block's successor is now the target for the jump table. But because of PHI nodes, we need to create another basic block for the jump table to jump to. This is definitely a hack, because the values for the PHI nodes may not be defined on the edge from the jump table. But that's okay, because the jump table is simply a construct to mimic what is happening in the CFG. So the values are mysteriously there, even though there is no value for the PHI from the jump table's edge (hence calling this a hack). llvm-svn: 139545
* gold plugin: don't report error on non-bitcode (e.g. ELF) files.Ivan Krasin2011-09-121-9/+25
| | | | llvm-svn: 139544
* Thumb2 POP's don't allow the PC as an operand, and PUSH's don't allow the SP ↵Owen Anderson2011-09-122-7/+93
| | | | | | either. llvm-svn: 139542
* Revert the wrong part of r139528, and fix testcases.Bruno Cardoso Lopes2011-09-123-8/+8
| | | | llvm-svn: 139541
* Fix encoding of PC-relative LDRSHW with an immediate offset.Owen Anderson2011-09-122-11/+21
| | | | llvm-svn: 139537
* Conditionalize indvars tests that rely on SCEV expansion of geps,Andrew Trick2011-09-125-25/+26
| | | | | | | which is relevant with canonical IVs. Anything else being checked by these tests is already covered by early CSE. llvm-svn: 139535
* Change a bunch of isVolatile() checks to check for atomic load/store as well.Eli Friedman2011-09-125-19/+19
| | | | | | | | No tests; these changes aren't really interesting in the sense that the logic is the same for volatile and atomic. I believe this completes all of the changes necessary for the optimizer to handle loads and stores correctly. I'm going to try and come up with some additional testing, though. llvm-svn: 139533
* There's no need to add additional predicate operands when converting a tB to ↵Owen Anderson2011-09-121-2/+0
| | | | | | a tBfar now. Fixes nightly test failures on armv6 Thumb. <rdar://problem/10110404> llvm-svn: 139531
* Fix typo.Eric Christopher2011-09-121-1/+1
| | | | llvm-svn: 139530
* Not sure how CMPPS and CMPPD had already ever worked, I guess it didn't.Bruno Cardoso Lopes2011-09-123-9/+55
| | | | | | | | | | | | However with this fix it does now. Basically the operand order for the x86 target specific node is not the same as the instruction, but since the intrinsic need that specific order at the instruction definition, just change the order during legalization. Also, there were some wrong invertions of condition codes, such as GE => LE, GT => LT, fix that too. Fix PR10907. llvm-svn: 139528
* Organize a bit the operand names for CMPPS and CMPPDBruno Cardoso Lopes2011-09-121-18/+18
| | | | llvm-svn: 139527
* Realign BLEND patterns to match the general style for patterns in .td file.Bruno Cardoso Lopes2011-09-121-45/+42
| | | | llvm-svn: 139526
* Fix 80-columnsBruno Cardoso Lopes2011-09-121-12/+16
| | | | llvm-svn: 139525
* Port more encoding tests to decoding tests, and correct an improper Thumb2 ↵Owen Anderson2011-09-123-0/+545
| | | | | | pre-indexed load decoding this uncovered. llvm-svn: 139522
* Removing indvars tests that directly test canonical IVs and nothing else.Andrew Trick2011-09-126-137/+0
| | | | llvm-svn: 139518
* Rename -disable-iv-rewrite to -enable-iv-rewrite=false in preparation for ↵Andrew Trick2011-09-1211-52/+30
| | | | | | default change. llvm-svn: 139517
* Add asserts to keep front-ends honest while encoding debug info into LLVM IR ↵Devang Patel2011-09-121-0/+9
| | | | | | using DIBuilder. llvm-svn: 139515
* Fix mistake in test runline.Eli Friedman2011-09-121-1/+1
| | | | llvm-svn: 139505
* Test case for r139453, WidenIV::GetExtendedOperandRecurrence.Andrew Trick2011-09-121-0/+30
| | | | llvm-svn: 139504
* Add DW_ATE_UTF, which clang started using in my previous commit!Devang Patel2011-09-122-0/+2
| | | | llvm-svn: 139503
* Remove the -compact-regions flag.Jakob Stoklund Olesen2011-09-121-11/+5
| | | | | | | It has been enabled by default for a while, it was only there to allow performance comparisons. llvm-svn: 139501
* Add an interface for SplitKit complement spill modes.Jakob Stoklund Olesen2011-09-123-5/+49
| | | | | | | | | | | | | | | | | | | | | | | | | SplitKit always computes a complement live range to cover the places where the original live range was live, but no explicit region has been allocated. Currently, the complement live range is created to be as small as possible - it never overlaps any of the regions. This minimizes register pressure, but if the complement is going to be spilled anyway, that is not very important. The spiller will eliminate redundant spills, and hoist others by making the spill slot live range overlap some of the regions created by splitting. Stack slots are cheap. This patch adds the interface to enable spill modes in SplitKit. In spill mode, SplitKit will assume that the complement is going to spill, so it will allow it to overlap regions in order to avoid back-copies. By doing some of the spiller's work early, the complement live range becomes simpler. In some cases, it can become much simpler because no extra PHI-defs are required. This will speed up both splitting and spilling. This is only the interface to enable spill modes, no implementation yet. llvm-svn: 139500
* Update comments to reflect some (not so) recent changes.Jakob Stoklund Olesen2011-09-121-4/+5
| | | | llvm-svn: 139498
* Associate a MemOperand with LDWCP nodes introduced during ISel.Richard Osborne2011-09-122-3/+26
| | | | | | This information is required if we want LDWCP to be hoisted out of loops. llvm-svn: 139495
* Mark LDWCP as having no side effects.Richard Osborne2011-09-121-1/+1
| | | | llvm-svn: 139494
* Format patterns, remove unused X86blend patternsNadav Rotem2011-09-122-27/+34
| | | | llvm-svn: 139491
* Fix disassembling of one of the register/register forms of ↵Craig Topper2011-09-112-0/+122
| | | | | | MOVUPS/MOVUPD/MOVAPS/MOVAPD/MOVSS/MOVSD and their VEX equivalents. Fixes PR10877. llvm-svn: 139486
* Fix disassembling of reverse register/register forms of ↵Craig Topper2011-09-113-5/+26
| | | | | | ADD/SUB/XOR/OR/AND/SBB/ADC/CMP/MOV. llvm-svn: 139485
* Fix disassembling of PAUSE instruction. Fixes PR10900. Also fixed NOP ↵Craig Topper2011-09-113-3/+9
| | | | | | disassembling to ignore OpSize and REX.W. llvm-svn: 139484
* s/SequeuentiallyConsistent/SequentiallyConsistent/gNick Lewycky2011-09-111-3/+3
| | | | llvm-svn: 139481
* Fix verb tense agreement.Nick Lewycky2011-09-111-1/+1
| | | | llvm-svn: 139480
* CR fixes per Bruno's request.Nadav Rotem2011-09-114-95/+53
| | | | | | | Undo the changes from r139285 which added custom lowering to vselect. Add tablegen lowering for vselect. llvm-svn: 139479
OpenPOWER on IntegriCloud