- Jul 25, 2011
- Jul 24, 2011
-
-
Chris Lattner authored
llvm-svn: 135889
-
Chris Lattner authored
to eliminate some casting. llvm-svn: 135888
-
Jakob Stoklund Olesen authored
llvm-svn: 135886
-
Jakob Stoklund Olesen authored
This fixes PR10463. A two-address instruction with an <undef> use operand was incorrectly rewritten so the def and use no longer used the same register, violating the tie constraint. Fix this by always rewriting <undef> operands with the register a def operand would use. llvm-svn: 135885
-
Frits van Bommel authored
llvm-svn: 135867
-
Roman Divacky authored
llvm-svn: 135866
-
- Jul 23, 2011
-
-
Chris Lattner authored
llvm-svn: 135861
-
Chris Lattner authored
Frits for straightening me out. llvm-svn: 135856
-
Jakob Stoklund Olesen authored
This method computes the edge bundles that should be live when splitting around a compact region. This is independent of interference. The function returns false if the live range was already a compact region, or the compact region doesn't have any live bundles - it would be the same as splitting around basic blocks. Compact regions are computed using the normal spill placement code. We pretend there is interference in all live-through blocks that don't use the live range. This removes all edges from the Hopfield network used for spill placement, so it converges instantly. llvm-svn: 135847
-
Jakob Stoklund Olesen authored
If there is no interference and no last split point, we cannot enterIntvBefore(Stop) - that function needs a real instruction. Use enterIntvAtEnd instead for that very easy case. This code doesn't currently run, it is needed by multi-way splitting. llvm-svn: 135846
-
Jakob Stoklund Olesen authored
A split candidate can have a null PhysReg which means that it doesn't map to a real interference pattern. Instead, pretend that all through blocks have interference. This makes it possible to generate compact regions where the live range doesn't go through blocks that don't use it. The live range will still be live between directly connected blocks with uses. Splitting around a compact region tends to produce a live range with a high spill weight, so it may evict a less dense live range. llvm-svn: 135845
-
Jakob Stoklund Olesen authored
This method matches addLinks - All the listed blocks are considered to have interference, so they add a negative bias to their bundles. This could also be done by addConstraints, but that requires building a separate BlockConstraint array. llvm-svn: 135844
-
Jakob Stoklund Olesen authored
They always report 'no interference'. llvm-svn: 135843
-
Benjamin Kramer authored
llvm-svn: 135842
-
Benjamin Kramer authored
llvm-svn: 135841
-
Benjamin Kramer authored
llvm-svn: 135838
-
NAKAMURA Takumi authored
llvm-svn: 135837
-
Benjamin Kramer authored
Turn the DenseSet in MCRegisterClass into a tblgenerated bit field. This should be faster and smaller. Goodbye static ctors and dtors! llvm-svn: 135836
-
Benjamin Kramer authored
This makes TargetRegisterClass slightly slower. Next step will be making contains faster. Eventually TargetRegisterClass will be killed entirely. llvm-svn: 135835
-
Evan Cheng authored
llvm-svn: 135833
-
NAKAMURA Takumi authored
llvm-svn: 135832
-
NAKAMURA Takumi authored
llvm-svn: 135831
-
Andrew Trick authored
removes its dependence on canonical induction variables. llvm-svn: 135829
-
Andrew Trick authored
llvm-svn: 135828
-
Evan Cheng authored
llvm-svn: 135826
-
Evan Cheng authored
llvm-svn: 135825
-
Jim Grosbach authored
The immediate is in the range 1-32, but is encoded as 0-31 in a 5-bit bitfield. Update the representation such that we store the operand as 0-31, allowing us to remove the encoder method and the special case handling in the disassembler. Update the assembly parser and the instruction printer accordingly. llvm-svn: 135823
-
Dan Gohman authored
so that a declaration for objc_retain is created when needed if it doesn't already exist. rdar://9825114. llvm-svn: 135821
-
Oscar Fuentes authored
llvm-svn: 135820
-
Jim Grosbach authored
llvm-svn: 135819
-
Jim Grosbach authored
llvm-svn: 135818
-
Jim Grosbach authored
Tests for SMULBB, SMLALBT, SMLALTB, SMLALTT, and SMULL. Fix parsing of SMULLS. llvm-svn: 135817
-
Benjamin Kramer authored
llvm-svn: 135816
-
- Jul 22, 2011
-
-
Evan Cheng authored
InitializeX86MCInstrInfo, etc. are combined into InitializeX86TargetMC. llvm-svn: 135812
-
Chris Lattner authored
llvm-svn: 135811
-
Jim Grosbach authored
Add tests for SMLSD, SMLSDX, SMLSLD, SMLSLDX, SMMLA, SMMLAR, SMMLS, SMMLSR, SMMUL, SMMULR, SMUAD and SMUADX. llvm-svn: 135810
-
Chris Lattner authored
llvm-svn: 135809
-