- Jun 29, 2011
-
-
Evan Cheng authored
llvm-svn: 134048
-
Jakob Stoklund Olesen authored
This function has to deal with a lot of special cases, and the old version got it wrong sometimes. In particular, it would sometimes leave multiple uses in the stack interval in a single block. That causes bad code with multiple reloads in the same basic block. The new version handles block entry and exit in a single pass. It first eliminates all the easy cases, and then goes on to create a local interval for the blocks with difficult interference. Previously, we would only create the local interval for completely isolated blocks. It can happen that the stack interval becomes completely empty because we could allocate a register in all edge bundles, and the new local intervals deal with the interference. The empty stack interval is harmless, but we need to remove a SplitKit assertion that checks for empty intervals. llvm-svn: 134047
-
Johnny Chen authored
llvm-svn: 134046
-
Fariborz Jahanian authored
wipe out stack blocks when they go out of scope. // rdar://9227352 llvm-svn: 134045
-
Johnny Chen authored
llvm-svn: 134042
-
Daniel Dunbar authored
specifiers. Fixes <rdar://problem/9607158>." because it causes false positives on some code that uses CF toll free bridging. - I'll let Doug or Ted figure out the right fix here, possibly just to accept any pointer type. llvm-svn: 134041
-
Johnny Chen authored
llvm-svn: 134040
-
Chandler Carruth authored
This was part of Kaelyn's original patch that got dropped while I was working on it, but after I ran my tests. =/ Sorry. llvm-svn: 134039
-
Chandler Carruth authored
to the same declaration when correcting typos. This is done by essentially sorting the corrections as they're added. Original patch by Kaelyn Uhrain, but modified for style and correctness by accounting for more than just the textual spelling. This still is a bit of a WIP hack to make this deterministic. Kaelyn (and myself) are working on a more principled solution going forward. llvm-svn: 134038
-
Johnny Chen authored
llvm-svn: 134037
-
Daniel Dunbar authored
llvm-svn: 134036
-
Chad Rosier authored
now (incorrectly) pass. Once the appropriate fixes have been made this test should be reverted. llvm-svn: 134035
-
- Jun 28, 2011
-
-
NAKAMURA Takumi authored
llvm-svn: 134033
-
Chandler Carruth authored
up several places where we never expect to have NULL pointers to assert early. This fixes a valgrind error within CorrectTypo, but not the non-determinism. llvm-svn: 134032
-
Evan Cheng authored
llvm-svn: 134031
-
Evan Cheng authored
llvm-svn: 134030
-
Johnny Chen authored
llvm-svn: 134029
-
Johnny Chen authored
llvm-svn: 134028
-
Evan Cheng authored
llvm-svn: 134027
-
Evan Cheng authored
llvm-svn: 134026
-
Daniel Dunbar authored
llvm-svn: 134025
-
Evan Cheng authored
llvm-svn: 134024
-
Johnny Chen authored
remove @expectedFailure from TestObjCMethods.py's print_ivars_correctly() function (it has been passing for a while). llvm-svn: 134022
-
Evan Cheng authored
sink them into MC layer. - Added MCInstrInfo, which captures the tablegen generated static data. Chang TargetInstrInfo so it's based off MCInstrInfo. llvm-svn: 134021
-
Johnny Chen authored
llvm-svn: 134020
-
Greg Clayton authored
two: eOptionMarkPCSourceLine = (1u << 2), // Mark the source line that contains the current PC (mixed mode only) eOptionMarkPCAddress = (1u << 3) // Mark the disassembly line the contains the PC This allows mixed mode to show the line that contains the current PC, and it allows us to mark the PC address in the disassembly if desired. Having these be separate gives more control on the disassembly output. SBFrame::Disassemble() doesn't enable any of these options. llvm-svn: 134019
-
Jakob Stoklund Olesen authored
Drop the FpMov instructions, use plain COPY instead. Drop the FpSET/GET instruction for accessing fixed stack positions. Instead use normal COPY to/from ST registers around inline assembly, and provide a single new FpPOP_RETVAL instruction that can access the return value(s) from a call. This is still necessary since you cannot tell from the CALL instruction alone if it returns anything on the FP stack. Teach fast isel to use this. This provides a much more robust way of handling fixed stack registers - we can tolerate arbitrary FP stack instructions inserted around calls and inline assembly. Live range splitting could sometimes break x87 code by inserting spill code in unfortunate places. As a bonus we handle floating point inline assembly correctly now. llvm-svn: 134018
-
Chad Rosier authored
character in std::string was causing failures for a few ObjC and Obj-C++ tests when -flto was enabled. Revision 133999 resolved this issue. Thanks Jay! rdar://9685235 PR10210 llvm-svn: 134017
-
Eric Christopher authored
Fixes rdar://9281377 llvm-svn: 134016
-
Fariborz Jahanian authored
a vector for collection. Use iterators where needed instead. // rdar://6817577 llvm-svn: 134015
-
Chad Rosier authored
llvm-svn: 134014
-
Jakob Stoklund Olesen authored
llvm-svn: 134013
-
John McCall authored
llvm-svn: 134011
-
Andrew Trick authored
llvm-svn: 134010
-
Douglas Gregor authored
don't rely on the existence of a copy constructor. llvm-svn: 134009
-
Andrew Trick authored
llvm-svn: 134008
-
Douglas Gregor authored
vector<int> to std::vector<int> Patch by Kaelyn Uhrain, with minor tweaks + PCH support from me. Fixes PR5776/<rdar://problem/8652971>. Thanks Kaelyn! llvm-svn: 134007
-
Douglas Gregor authored
llvm-svn: 134006
-
Roman Divacky authored
llvm-svn: 134005
-
Jay Foad authored
avoid getting embedded trailing null bytes in std::strings. llvm-svn: 133999
-