Commits

Show all
Author Commit Message Labels Comments Date
Dan Gohman
Teach ScalarEvolution how to compute a tripcount for a loop with 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.
Tags
cremebrulee-39
Bob Wilson
Revert Anton's most recent EH patch (r96637), since it breaks a lot of ARM and Thumb tests.
Duncan Sands
Revert commits 96556 and 96640, because commit 96556 breaks the 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!"…
Duncan Sands
Correct LastPrimitiveTyID: MetadataType is a primitive type. This change probably has no functional effect.
Chris Lattner
add emitter support for integer constants and simple physreg references.
Dale Johannesen
recommit 96626, evidence that it broke things appears to be spurious
Chris Lattner
fix this to work more determinstically, patch by Thomas Veith!
Devang Patel
Test case for r96656.
Johnny Chen
Added entries for ASR, LSL, LSR, ROR, and RRX so that the disassembler prints 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…
Dale Johannesen
Revert 96626, which causes build failure on ppc Darwin.
Evan Cheng
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
Chris Lattner
I confused myself, temporaries will be recorded right along with other inputs.
Anton Korobeynikov
Use the same encoding for EH stuff uniformly on all MachO targets. This hopefulyl should unbreak EH on PPC/Darwin.
Chris Lattner
introduce a new ResultVal and start keeping track of temporary values.
Jim Grosbach
Radar 7636153. In the presence of large call frames, it's not sufficient 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.
Dan Gohman
When determining the set of interesting reuse factors, consider 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.
Dan Gohman
Indvars needs to explicitly notify ScalarEvolution when it is replacing 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.
Mon P Wang
getSplatIndex assumes that the first element of the mask contains the splat index which is not always true if the mask contains undefs. Modified it to return the first non undef value.
Johnny Chen
Added LDRD_PRE/POST & STRD_PRE/POST for disassembly only.
Chris Lattner
add support for referencing registers and immediates, building the tree to represent them but not emitting table entries for them yet.
talin
replaceUsesOfWithOnConstant implementation for unions.
Dan Gohman
Hoist this loop-invariant logic out of the loop.
Jakob Stoklund Olesen
Always normalize spill weights, also for intervals created by spilling. 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%, an…
Dan Gohman
Make CodePlacementOpt detect special EH control flow by 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.
Devang Patel
Fix comments.
Devang Patel
Destroy MDNodes gracefully while deleting llvm context.
Devang Patel
Ignore target dependent value in grep search.
Dale Johannesen
Generate DBG_VALUE from dbg.value intrinsics. These currently comes out as comments but will eventually generate DWARF.
Dan Gohman
Clarify that ptrtoint+inttoptr are an alternative to GEP which are not restricted by the GEP rules.
convert-repo
update tags
  1. Prev
  2. Next