- Dec 19, 2009
-
-
Douglas Gregor authored
llvm-svn: 91764
-
Anton Korobeynikov authored
llvm-svn: 91744
-
Bill Wendling authored
- Move DisableScheduling flag into TargetOption.h - Move SDNodeOrdering into its own header file. Give it a minimal interface that doesn't conflate construction with storage. - Move assigning the ordering into the SelectionDAGBuilder. This isn't used yet, so there should be no functional changes. llvm-svn: 91727
-
- Dec 18, 2009
-
-
Evan Cheng authored
llvm-svn: 91717
-
Dan Gohman authored
contains another loop, or an instruction. The loop form is substantially more efficient on large loops than the typical code it replaces. llvm-svn: 91654
-
Bob Wilson authored
The change in SelectionDAGBuilder is needed to allow using bitcasts to convert between f64 (the default type for ARM "d" registers) and 64-bit Neon vector types. Radar 7457110. llvm-svn: 91649
-
John McCall authored
llvm-svn: 91636
-
Bill Wendling authored
llvm-svn: 91635
-
Bill Wendling authored
non-landing pad basic block as the successor to a block that ends in an unconditional jump will cause block folding to remove the added block as a successor. Thus eventually removing it AND the landing pad entirely. Critical edge splitting is an optimization, so we can safely turn it off when dealing with landing pads. llvm-svn: 91634
-
- Dec 17, 2009
-
-
Bill Wendling authored
$ svn merge -c -91337 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91337 into '.': U lib/CodeGen/AsmPrinter/DwarfException.cpp llvm-svn: 91618
-
Ken Dyck authored
LegalizeDAG.cpp. Unlike the code it replaces, which simply decrements the simple type by one, getHalfSizedIntegerVT() searches for the smallest simple integer type that is at least half the size of the type it is called on. This approach has the advantage that it will continue working if a new value type (such as i24) is added to MVT. Also, in preparation for new value types, remove the assertions that non-power-of-2 8-bit-mutiple types are Extended when legalizing extload and truncstore operations. llvm-svn: 91614
-
Evan Cheng authored
llvm-svn: 91604
-
Evan Cheng authored
Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently introduced a non-deterministic behavior in the optimizer somewhere. llvm-svn: 91598
-
Bob Wilson authored
llvm-svn: 91584
-
Evan Cheng authored
Fold (zext (and x, cst)) -> (and (zext x), cst) DAG combiner likes to optimize expression in the other way so this would end up cause an infinite looping. llvm-svn: 91574
-
- Dec 16, 2009
-
-
Daniel Dunbar authored
Reapply r91392, it was only unmasking the bug, and since TOT is still broken having it reverted does no good. llvm-svn: 91560
-
Jim Grosbach authored
llvm-svn: 91554
-
Jakob Stoklund Olesen authored
Tail duplication produces lots of identical phi nodes in different basic blocks. Teach PHIElimination to reuse the join registers when lowering a phi node that is identical to an already lowered node. This saves virtual registers, and more importantly it avoids creating copies the the coalescer doesn't know how to eliminate. Teach LiveIntervalAnalysis about the phi joins with multiple uses. This patch significantly reduces code size produced by -pre-regalloc-taildup. llvm-svn: 91549
-
Daniel Dunbar authored
this", this broke llvm-gcc bootstrap for release builds on x86_64-apple-darwin10. llvm-svn: 91533
-
Dale Johannesen authored
in local register allocator. If a reg-reg copy has a phys reg input and a virt reg output, and this is the last use of the phys reg, assign the phys reg to the virt reg. If a reg-reg copy has a phys reg output and we need to reload its spilled input, reload it directly into the phys reg than passing it through another reg. Following 76208, there is sometimes no dependency between the def of a phys reg and its use; this creates a window where that phys reg can be used for spilling (this is true in linear scan also). This is bad and needs to be fixed a better way, although 76208 works too well in practice to be reverted. However, there should normally be no spilling within inline asm blocks. The patch here goes a long way towards making this actually be true. llvm-svn: 91485
-
John McCall authored
enclosing namespace. Caught by clang++. llvm-svn: 91480
-
Bill Wendling authored
llvm-svn: 91479
-
Bill Wendling authored
llvm-svn: 91477
-
Bill Wendling authored
llvm-svn: 91475
-
- Dec 15, 2009
-
-
Devang Patel authored
llvm-svn: 91440
-
Chris Lattner authored
isPodLike type trait. This is a generally useful type trait for more than just DenseMap, and we really care about whether something acts like a pod, not whether it really is a pod. llvm-svn: 91421
-
Evan Cheng authored
1. Only perform (zext (shl (zext x), y)) -> (shl (zext x), y) when y is a constant. This makes sure it remove at least one zest. 2. If the shift is a left shift, make sure the original shift cannot shift out bits. llvm-svn: 91399
-
Bill Wendling authored
stuff isn't used just yet. We want to model the GCC `-fno-schedule-insns' and `-fno-schedule-insns2' flags. The hypothesis is that the people who use these flags know what they are doing, and have hand-optimized the C code to reduce latencies and other conflicts. The idea behind our scheme to turn off scheduling is to create a map "on the side" during DAG generation. It will order the nodes by how they appeared in the code. This map is then used during scheduling to get the ordering. llvm-svn: 91392
-
Evan Cheng authored
Tail duplication should zap a copy it inserted for SSA update if the copy is the only use of its source. llvm-svn: 91390
-
Evan Cheng authored
llvm-svn: 91380
-
Evan Cheng authored
llvm-svn: 91378
-
Bill Wendling authored
$ svn merge -c -91161 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91161 into '.': U lib/CodeGen/BranchFolding.cpp U lib/CodeGen/MachineBasicBlock.cpp $ svn merge -c -91113 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91113 into '.': G lib/CodeGen/MachineBasicBlock.cpp $ svn merge -c -91101 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91101 into '.': U include/llvm/CodeGen/MachineBasicBlock.h G lib/CodeGen/MachineBasicBlock.cpp $ svn merge -c -91092 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91092 into '.': G include/llvm/CodeGen/MachineBasicBlock.h G lib/CodeGen/MachineBasicBlock.cpp llvm-svn: 91376
-
Dan Gohman authored
llvm-svn: 91362
-
Dan Gohman authored
Bill for spotting this! llvm-svn: 91355
-
- Dec 14, 2009
-
-
Bill Wendling authored
but we need it to actually be 4-bytes in the FDE. llvm-svn: 91337
-
Devang Patel authored
llvm-svn: 91278
-
Lang Hames authored
llvm-svn: 91275
-
Bill Wendling authored
llvm-svn: 91274
-
Lang Hames authored
Moved spill weight calculation out of SimpleRegisterCoalescing and into its own pass: CalculateSpillWeights. llvm-svn: 91273
-
- Dec 13, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 91233
-