summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Trim includeEvan Cheng2011-06-291-1/+0
| | | | llvm-svn: 134048
* Rewrite RAGreedy::splitAroundRegion, now with cool ASCII art.Jakob Stoklund Olesen2011-06-293-138/+291
| | | | | | | | | | | | | | | | | | | | 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
* Add fuzz calls for SBTarget and SBThread.Johnny Chen2011-06-294-3/+87
| | | | llvm-svn: 134046
* Under a compiler flag, -freset-local-blocks,Fariborz Jahanian2011-06-287-1/+45
| | | | | | | wipe out stack blocks when they go out of scope. // rdar://9227352 llvm-svn: 134045
* Add fuzz calls for SBSymbol and SBSymbolContext.Johnny Chen2011-06-283-0/+37
| | | | llvm-svn: 134042
* Revert r133024, "[format strings] correctly suggest correct type for '%@'Daniel Dunbar2011-06-283-5/+1
| | | | | | | | | 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
* Add fuzz calls for SBStringList and add obj.Clear() calls for some files.Johnny Chen2011-06-2810-0/+25
| | | | llvm-svn: 134040
* Update this test to reflect the new (deterministic) order in r134038.Chandler Carruth2011-06-281-2/+2
| | | | | | | 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
* Fix non-determinism in selecting between equal-length names which referChandler Carruth2011-06-281-1/+9
| | | | | | | | | | | | | 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
* Add fuzz calls for SBModule and SBProcess.Johnny Chen2011-06-284-2/+70
| | | | llvm-svn: 134037
* build/Darwin: Fix epic typo fail.Daniel Dunbar2011-06-281-1/+1
| | | | llvm-svn: 134036
* Modify test case to allow buildbots to make forward progress. This test shouldChad Rosier2011-06-281-2/+2
| | | | | | | now (incorrectly) pass. Once the appropriate fixes have been made this test should be reverted. llvm-svn: 134035
* Fix a CMake warning, following up to r134008.NAKAMURA Takumi2011-06-281-1/+1
| | | | llvm-svn: 134033
* Fix an invalid use of ::back() on an newly emptied vector. Also tightenChandler Carruth2011-06-281-2/+4
| | | | | | | | | | 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
* Unbreak every backend.Evan Cheng2011-06-281-1/+2
| | | | llvm-svn: 134031
* Move CallFrameSetupOpcode and CallFrameDestroyOpcode to TargetInstrInfo.Evan Cheng2011-06-2832-86/+86
| | | | llvm-svn: 134030
* Add fuzz calls for SBListener.Johnny Chen2011-06-282-0/+26
| | | | llvm-svn: 134029
* Add fuzz calls for SBLineEntry.Johnny Chen2011-06-283-1/+18
| | | | llvm-svn: 134028
* Hide more details in tablegen generated MCRegisterInfo ctor function.Evan Cheng2011-06-2814-32/+20
| | | | llvm-svn: 134027
* Add MCInstrInfo registeration machinery.Evan Cheng2011-06-283-1/+77
| | | | llvm-svn: 134026
* Driver/Darwin: -force_load can be specified multiple times.Daniel Dunbar2011-06-282-1/+9
| | | | llvm-svn: 134025
* Merge XXXGenRegisterNames.inc into XXXGenRegisterInfo.incEvan Cheng2011-06-2867-120/+165
| | | | llvm-svn: 134024
* Add @expectedFailure for TestCallStdStringFunction.py (radar was filed) andJohnny Chen2011-06-282-3/+4
| | | | | | | remove @expectedFailure from TestObjCMethods.py's print_ivars_correctly() function (it has been passing for a while). llvm-svn: 134022
* - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo andEvan Cheng2011-06-2877-875/+903
| | | | | | | | 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
* Add fuzz calls for SBInstruction and SBInstructionList.Johnny Chen2011-06-283-0/+36
| | | | llvm-svn: 134020
* Remove the disassembly option: "eOptionShowCurrentLine" and replaced it withGreg Clayton2011-06-283-11/+10
| | | | | | | | | | | | | | 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
* Clean up the handling of the x87 fp stack to make it more robust.Jakob Stoklund Olesen2011-06-287-227/+531
| | | | | | | | | | | | | | | | | | | | 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
* Reinstate r133516 "Remove some unnecessary uses of c_str()." A trailing nullChad Rosier2011-06-281-6/+6
| | | | | | | | | 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
* Split out logic for valid clobbers and valid inline asm registers.Eric Christopher2011-06-285-5/+19
| | | | | | Fixes rdar://9281377 llvm-svn: 134016
* Eliminate most uses of ShallowCollectObjCIvars which requiresFariborz Jahanian2011-06-284-32/+34
| | | | | | | a vector for collection. Use iterators where needed instead. // rdar://6817577 llvm-svn: 134015
* Remove warning: 'c0' may be used uninitialized in this function.Chad Rosier2011-06-281-1/+2
| | | | llvm-svn: 134014
* Print registers by name instead of by number.Jakob Stoklund Olesen2011-06-281-6/+7
| | | | llvm-svn: 134013
* Be more thorough about mangling unresolved types.John McCall2011-06-283-57/+144
| | | | llvm-svn: 134011
* cleanup: misleading comment.Andrew Trick2011-06-281-2/+2
| | | | llvm-svn: 134010
* Dynamically allocate the StringMaps used in typo correction so that weDouglas Gregor2011-06-281-12/+26
| | | | | | don't rely on the existence of a copy constructor. llvm-svn: 134009
* cmake: Our MSVC build does not support config-time build mode.Andrew Trick2011-06-281-1/+1
| | | | llvm-svn: 134008
* Add support for C++ namespace-aware typo correction, e.g., correctingDouglas Gregor2011-06-2825-517/+1060
| | | | | | | | | | | | | | | 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
* Fix test case; we may end up linking against the libprofile_rt dylib.Douglas Gregor2011-06-281-1/+1
| | | | llvm-svn: 134006
* Implement ISD::VAARG lowering on PPC32.Roman Divacky2011-06-282-5/+290
| | | | llvm-svn: 134005
* PR10210: New method ConstantArray::getAsCString(). Use it in LTO toJay Foad2011-06-283-9/+30
| | | | | | avoid getting embedded trailing null bytes in std::strings. llvm-svn: 133999
* FileCheckify and prepare for -disable-iv-rewrite.Andrew Trick2011-06-281-7/+11
| | | | llvm-svn: 133998
* FileCheckize a couple of tests.Jakob Stoklund Olesen2011-06-282-8/+44
| | | | | | | Also and add a test for popping dead return values and avoid testing the spill precision. llvm-svn: 133997
* Cleanup. Fix a stupid variable name.Andrew Trick2011-06-281-3/+3
| | | | llvm-svn: 133996
* Cleanup. Fix a stupid variable name.Andrew Trick2011-06-281-3/+3
| | | | llvm-svn: 133995
* [analyzer] strnlen isn't a builtin, don't test for itJordy Rose2011-06-281-8/+7
| | | | llvm-svn: 133994
* Fix PR9279 - Macro expansion stack trace seriously broken with ↵Chris Lattner2011-06-283-24/+37
| | | | | | | | | | | | | | function-style macros, by not recursively printing notes for other 'instantiated from' notes. This is a one line fix here: + // Don't print recursive instantiation notes from an instantiation note. + Loc = SM.getSpellingLoc(Loc); While here, fix the testcase to be more precise (it got filecheck'ized brutally), and fix EmitCaretDiagnostic to be private and to not pass down the unused 'Level' argument. llvm-svn: 133993
* SCEVExpander: give new insts a name that identifies the reponsible pass.Andrew Trick2011-06-285-9/+14
| | | | llvm-svn: 133992
* whitespaceAndrew Trick2011-06-281-8/+8
| | | | llvm-svn: 133991
* Fix typo in comment.Nick Lewycky2011-06-281-1/+1
| | | | llvm-svn: 133990
* Fix cmake build.Rafael Espindola2011-06-281-1/+1
| | | | llvm-svn: 133989
OpenPOWER on IntegriCloud