- Jul 25, 2011
-
-
Evan Cheng authored
llvm-svn: 135979
-
Evan Cheng authored
llvm-svn: 135978
-
Chandler Carruth authored
assert-path code, as previously we would have fallen off the end of the function, but please review and let me know if this should go somewhere else. This fixes a Clang warning: lib/MC/MCMachOStreamer.cpp:201:11: error: enumeration value 'MCSA_IndirectSymbol' not handled in switch [-Werror,-Wswitch-enum] switch (Attribute) { ^ 1 error generated. llvm-svn: 135976
-
Rafael Espindola authored
llvm-svn: 135975
-
Evan Cheng authored
llvm-svn: 135974
-
Nick Lewycky authored
llvm-svn: 135973
-
Jim Grosbach authored
The shift immediate encoding, printing, etc. is handled directly by the enclosing operand definition, so it should be a vanilla immediate, not a nested complex operand (shift_imm). llvm-svn: 135968
-
Rafael Espindola authored
llvm-svn: 135966
-
Evan Cheng authored
llvm-svn: 135963
-
Jim Grosbach authored
llvm-svn: 135959
-
Jim Grosbach authored
llvm-svn: 135958
-
Evan Cheng authored
llvm-svn: 135954
-
Evan Cheng authored
llvm-svn: 135953
-
Bill Wendling authored
Update the comment. This feature is available only on Darwin at the moment. Though it's not Darwin-specific. llvm-svn: 135951
-
Jim Grosbach authored
llvm-svn: 135950
-
Oscar Fuentes authored
llvm-svn: 135949
-
Jim Grosbach authored
Remove some inititalizers that are the same as the default, move defs next to their (singular) uses and generally simplify some formatting of asm operand definitions. llvm-svn: 135946
-
Jim Grosbach authored
llvm-svn: 135945
-
Evan Cheng authored
llvm-svn: 135943
-
Evan Cheng authored
llvm-svn: 135942
-
Evan Cheng authored
llvm-svn: 135939
-
Jakub Staszak authored
MachineBlockFrequencyInfo. llvm-svn: 135937
-
Evan Cheng authored
llvm-svn: 135930
-
Bill Wendling authored
llvm-svn: 135924
-
Bill Wendling authored
llvm-svn: 135923
-
Bill Wendling authored
unwind encoding for that function. This simply crawls through the prolog looking for machine instrs marked as "frame setup". It can calculate from these what the compact unwind should look like. This is currently disabled because of needed linker support. But initial tests look good. llvm-svn: 135922
-
Jim Grosbach authored
The .local, .hidden, .internal, and .protected are not legal for all supported file formats (in particular, they're invalid for MachO). Move the parsing for them into the ELF assembly parser since that's the format they're for. Similarly, .weak is used by COFF and ELF, but not MachO, so move the parsing to the COFF and ELF asm parsers. Previously, using any of these directives on Darwin would result in an assertion failure in the parser; now we get a diagnostic as we should. rdar://9827089 llvm-svn: 135921
-
Jim Grosbach authored
llvm-svn: 135917
-
Jakob Stoklund Olesen authored
This mechanism already exists, but the RS_Split2 stage makes it clearer. When live range splitting creates ranges that may not be making progress, they are marked RS_Split2 instead of RS_New. These ranges may be split again, but only in a way that can be proven to make progress. For local ranges, that means they must be split into ranges used by strictly fewer instructions. For global ranges, region splitting is bypassed and the RS_Split2 ranges go straight to per-block splitting. llvm-svn: 135912
-
Jakob Stoklund Olesen authored
The stage is used to control where a live range is going, not where it is coming from. Live ranges created by splitting will usually be marked RS_New, but some are marked RS_Spill to avoid wasting time trying to split them again. The old RS_Global and RS_Local stages are merged - they are really the same thing for local and global live ranges. llvm-svn: 135911
-
Frits van Bommel authored
llvm-svn: 135910
-
Jay Foad authored
llvm-svn: 135905
-
Jay Foad authored
llvm-svn: 135904
-
- 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
-
Roman Divacky authored
llvm-svn: 135866
-
- Jul 23, 2011
-
-
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
-