- Feb 21, 2010
-
-
Tanya Lattner authored
llvm-svn: 96710
-
- Feb 19, 2010
-
-
Dan Gohman authored
the division would have a remainder. llvm-svn: 96693
-
Dan Gohman authored
scaled reuse. llvm-svn: 96692
-
Bob Wilson authored
the armv6 nightly tests. llvm-svn: 96691
-
Dan Gohman authored
llvm-svn: 96688
-
Charles Davis authored
Also, FileCheck'ize a test. llvm-svn: 96686
-
Dan Gohman authored
true or false as its exit condition. These are usually eliminated by SimplifyCFG, but the may be left around during a pass which wishes to preserve the CFG. llvm-svn: 96683
-
Bob Wilson authored
ARM and Thumb tests. llvm-svn: 96680
-
Duncan Sands authored
dragonegg self-host build. I reverted 96640 in order to revert 96556 (96640 goes on top of 96556), but it also looks like with both of them applied the breakage happens even earlier. The symptom of the 96556 miscompile is the following crash: llvm[3]: Compiling AlphaISelLowering.cpp for Release build cc1plus: /home/duncan/tmp/tmp/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:4982: void llvm::SelectionDAG::ReplaceAllUsesWith(llvm::SDNode*, llvm::SDNode*, llvm::SelectionDAG::DAGUpdateListener*): Assertion `(!From->hasAnyUseOfValue(i) || From->getValueType(i) == To->getValueType(i)) && "Cannot use this version of ReplaceAllUsesWith!"' failed. Stack dump: 0. Running pass 'X86 DAG->DAG Instruction Selection' on function '@_ZN4llvm19AlphaTargetLowering14LowerOperationENS_7SDValueERNS_12SelectionDAGE' g++: Internal error: Aborted (program cc1plus) This occurs when building LLVM using LLVM built by LLVM (via dragonegg). Probably LLVM has miscompiled itself, though it may have miscompiled GCC and/or dragonegg itself: at this point of the self-host build, all of GCC, LLVM and dragonegg were built using LLVM. Unfortunately this kind of thing is extremely hard to debug, and while I did rummage around a bit I didn't find any smoking guns, aka obviously miscompiled code. Found by bisection. r96556 | evancheng | 2010-02-18 03:13:50 +0100 (Thu, 18 Feb 2010) | 5 lines Some dag combiner goodness: Transform br (xor (x, y)) -> br (x != y) Transform br (xor (xor (x,y), 1)) -> br (x == y) Also normalize (and (X, 1) == / != 1 -> (and (X, 1)) != / == 0 to match to "test on x86" and "tst on arm" r96640 | evancheng | 2010-02-19 01:34:39 +0100 (Fri, 19 Feb 2010) | 16 lines Transform (xor (setcc), (setcc)) == / != 1 to (xor (setcc), (setcc)) != / == 1. e.g. On x86_64 %0 = icmp eq i32 %x, 0 %1 = icmp eq i32 %y, 0 %2 = xor i1 %1, %0 br i1 %2, label %bb, label %return => testl %edi, %edi sete %al testl %esi, %esi sete %cl cmpb %al, %cl je LBB1_2 llvm-svn: 96672
-
Duncan Sands authored
This change probably has no functional effect. llvm-svn: 96669
-
Chris Lattner authored
llvm-svn: 96663
-
Dale Johannesen authored
to be spurious llvm-svn: 96662
-
Chris Lattner authored
llvm-svn: 96661
-
Devang Patel authored
llvm-svn: 96657
-
Johnny Chen authored
out the canonical form (A8.6.98) instead of the pseudo-instruction as provided via MOVs. DBG_ARM_DISASM=YES llvm-mc -triple=arm-unknown-unknown --disassemble 0xc0 0x00 0xa0 0xe1 Opcode=29 Name=ASR Format=ARM_FORMAT_LDMISCFRM 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ------------------------------------------------------------------------------------------------- | 1: 1: 1: 0| 0: 0: 0: 1| 1: 0: 1: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 1: 1: 0: 0| 0: 0: 0: 0| ------------------------------------------------------------------------------------------------- asr r0, r0, #1 llvm-svn: 96654
-
Dale Johannesen authored
llvm-svn: 96653
-
Evan Cheng authored
(xor (setcc), (setcc)) != / == 1. e.g. On x86_64 %0 = icmp eq i32 %x, 0 %1 = icmp eq i32 %y, 0 %2 = xor i1 %1, %0 br i1 %2, label %bb, label %return => testl %edi, %edi sete %al testl %esi, %esi sete %cl cmpb %al, %cl je LBB1_2 llvm-svn: 96640
-
Chris Lattner authored
llvm-svn: 96639
-
Anton Korobeynikov authored
This hopefulyl should unbreak EH on PPC/Darwin. llvm-svn: 96637
-
Chris Lattner authored
llvm-svn: 96636
-
Jim Grosbach authored
for ARM to just check if a function has a FP to determine if it's safe to simplify the stack adjustment pseudo ops prior to eliminating frame indices. Allow targets to override the default behavior and does so for ARM and Thumb2. llvm-svn: 96634
-
Dan Gohman authored
strides in foreign loops. This helps locate reuse opportunities with existing induction variables in foreign loops and reduces the need for inserting new ones. This fixes rdar://7657764. llvm-svn: 96629
-
Dan Gohman authored
a loop exit value, so that if a loop gets deleted, ScalarEvolution isn't stick holding on to dangling SCEVAddRecExprs for that loop. This fixes PR6339. llvm-svn: 96626
-
- Feb 18, 2010
-
-
Mon P Wang authored
which is not always true if the mask contains undefs. Modified it to return the first non undef value. llvm-svn: 96621
-
Johnny Chen authored
llvm-svn: 96619
-
Chris Lattner authored
building the tree to represent them but not emitting table entries for them yet. llvm-svn: 96617
-
Talin authored
llvm-svn: 96616
-
Dan Gohman authored
llvm-svn: 96614
-
Jakob Stoklund Olesen authored
Moderate the weight given to very small intervals. The spill weight given to new intervals created when spilling was not normalized in the same way as the original spill weights calculated by CalcSpillWeights. That meant that restored registers would tend to hang around because they had a much higher spill weight that unspilled registers. This improves the runtime of a few tests by up to 10%, and there are no significant regressions. llvm-svn: 96613
-
Dan Gohman authored
checking whether AnalyzeBranch disagrees with the CFG directly, rather than looking for EH_LABEL instructions. EH_LABEL instructions aren't always at the end of the block, due to FP_REG_KILL and other things. This fixes an infinite loop compiling MultiSource/Benchmarks/Bullet. llvm-svn: 96611
-
Devang Patel authored
llvm-svn: 96610
-
Devang Patel authored
llvm-svn: 96609
-
Devang Patel authored
llvm-svn: 96604
-
Dale Johannesen authored
comes out as comments but will eventually generate DWARF. llvm-svn: 96601
-
Dan Gohman authored
not restricted by the GEP rules. llvm-svn: 96598
-
Dan Gohman authored
llvm-svn: 96597
-
Dan Gohman authored
deferenced, rather than when the pointer value is computed. llvm-svn: 96596
-
Dan Gohman authored
llvm-svn: 96594
-
Sanjiv Gupta authored
llvm-svn: 96591
-
Sanjiv Gupta authored
llvm-svn: 96589
-