summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Include snippets in the live stack interval.Jakob Stoklund Olesen2011-03-121-1/+3
| | | | llvm-svn: 127530
* Spill multiple registers at once.Jakob Stoklund Olesen2011-03-122-48/+210
| | | | | | | | | | | Live range splitting can create a number of small live ranges containing only a single real use. Spill these small live ranges along with the large range they are connected to with copies. This enables memory operand folding and maximizes the spill to fill distance. Work in progress with known bugs. llvm-svn: 127529
* Don't have side-effects (or rather non-trivial computation) in StringSwitch ↵Ted Kremenek2011-03-121-6/+9
| | | | | | "cases." llvm-svn: 127528
* Fixed the comparison operator for the enhancedSean Callanan2011-03-121-7/+2
| | | | | | disassembler's disassembler map. llvm-svn: 127527
* Add initial version of "IteratorsChecker", a checker to find misues uses of ↵Ted Kremenek2011-03-124-0/+689
| | | | | | | | | C++ iterators. This checker was created by Jim Goodnow II, and I migrated it to the new Checker interface (recent changes by Argiris). llvm-svn: 127525
* Fix comments, and force auto progagation in VisitAggExpr.Ted Kremenek2011-03-121-1/+4
| | | | llvm-svn: 127524
* static analyzer: Handle 'ExprWithCleanups' in ExprEngine by essentially ↵Ted Kremenek2011-03-121-1/+1
| | | | | | ignoring them. llvm-svn: 127523
* That's it, I am declaring this a failure of the C++03 STL.Jakob Stoklund Olesen2011-03-121-119/+15
| | | | | | | | | | | | | | There are too many compatibility problems with using mixed types in std::upper_bound, and I don't want to spend 110 lines of boilerplate setting up a call to a 10-line function. Binary search is not /that/ hard to implement correctly. I tried terminating the binary search with a linear search, but that actually made the algorithm slower against my expectation. Most live intervals have less than 4 segments. The early test against endIndex() does pay, and this version is 25% faster than plain std::upper_bound(). llvm-svn: 127522
* Fixes for some more expressions containing function templateids thatDouglas Gregor2011-03-126-58/+168
| | | | | | should be resolvable, from Faisal Vali! llvm-svn: 127521
* Saving files before committing is overrated.Eric Christopher2011-03-121-1/+1
| | | | | | Add a RUN line to this test. llvm-svn: 127520
* Add a test directory stop-hook to test the newly added "target stop-hook" ↵Johnny Chen2011-03-124-0/+163
| | | | | | | | | | | | | command. This uses pexpect module to spawn a 'lldb' program and uses pseudo-TTY to talk to the child application. The test cases test setting breakpoints, adding a stop-hook with line range, and verifies that when the inferior stops, the stop-hook will fire off when it is within range and will not fire off when it is out of range. llvm-svn: 127519
* Sometimes isPredicable lies to us and tells us we don't need the operands.Eric Christopher2011-03-122-6/+85
| | | | | | | | | Go ahead and add them on when we might want to use them and let later passes remove them. Fixes rdar://9118569 llvm-svn: 127518
* Remove no-longer-correct special case for disasm of ARM BL instructions.Jim Grosbach2011-03-121-5/+0
| | | | llvm-svn: 127517
* Add FIXME.Jim Grosbach2011-03-121-0/+3
| | | | llvm-svn: 127516
* Pseudo-ize the ARM Darwin *r9 call instruction definitions. They're the sameJim Grosbach2011-03-122-27/+33
| | | | | | | | actual instruction as the non-Darwin defs, but have different call-clobber semantics and so need separate patterns. They don't need to duplicate the encoding information, however. llvm-svn: 127515
* When we're determining whether to complain about a conversion from oneDouglas Gregor2011-03-122-1/+24
| | | | | | | | enumeration type to another in C, classify enumeration constants as if they had the type of their enclosing enumeration. Fixes <rdar://problem/9116337>. llvm-svn: 127514
* Change parameter to AppendPadding from bytes to CharUnits. No change inKen Dyck2011-03-111-11/+11
| | | | | | functionality intended. llvm-svn: 127513
* Don't ask if a depenendent CXXRecordDecl has any dependent basesDouglas Gregor2011-03-112-1/+15
| | | | | | | unless we already know that it has a definition. Fixes PR9449/<rdar://problem/9115785>. llvm-svn: 127512
* Add a FIXME.Jim Grosbach2011-03-111-0/+2
| | | | llvm-svn: 127511
* Pseudo-ize the ARM 'B' instruction.Jim Grosbach2011-03-113-10/+14
| | | | llvm-svn: 127510
* Remove dead code. These ARM instruction definitions no longer exist.Jim Grosbach2011-03-112-9/+1
| | | | llvm-svn: 127509
* Remove dead code. These ARM instruction definitions no longer exist.Jim Grosbach2011-03-111-9/+0
| | | | llvm-svn: 127508
* Implement a hack intended to allow Clang to parse libstdc++ 4.5'sDouglas Gregor2011-03-113-1/+31
| | | | | | | | | | | headers, which use C++0x generalized initializer lists. Per PR7069, it appears that the only use is as the return type of a function, so this commit enables this extension just in that narrow case. If it's enough for libstdc++ 4.5, or if it can be trivially extended to work with libstdc++ 4.5, we'll keep it. Otherwise, or if this breaks anything, we'll revert and wait for the real feature. llvm-svn: 127507
* Pseudo-ize VMOVDcc and VMOVScc.Jim Grosbach2011-03-113-9/+19
| | | | llvm-svn: 127506
* 80 columnsJim Grosbach2011-03-111-1/+2
| | | | llvm-svn: 127505
* Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side-Jim Grosbach2011-03-1113-28/+32
| | | | | | effect that we get proper instruction printing using the "pop" mnemonic for it. llvm-svn: 127502
* <rdar://problem/9073695> std::uncaught_exception() becomes true before ↵Nick Kledzik2011-03-111-1/+10
| | | | | | evaluating the throw-expression rather than after llvm-svn: 127499
* Roll r127459 back in:Cameron Zwarich2011-03-1116-17/+31
| | | | | | | | | | | Optimize trivial branches in CodeGenPrepare, which often get created from the lowering of objectsize intrinsics. Unfortunately, a number of tests were relying on llc not optimizing trivial branches, so I had to add an option to allow them to continue to test what they originally tested. This fixes <rdar://problem/8785296> and <rdar://problem/9112893>. llvm-svn: 127498
* Fix the GCC test suite issue exposed by r127477, which was caused by stackCameron Zwarich2011-03-112-3/+22
| | | | | | | protector insertion not working correctly with unreachable code. Since that revision was rolled out, this test doesn't actual fail before this fix. llvm-svn: 127497
* Teach FastISel to support register-immediate-immediate instructions.Owen Anderson2011-03-112-9/+40
| | | | llvm-svn: 127496
* 80 columns.Jim Grosbach2011-03-111-2/+2
| | | | llvm-svn: 127495
* Use a slightly more semantic interface for emitting call arguments.John McCall2011-03-116-47/+40
| | | | llvm-svn: 127494
* Trailing whitespace.Jim Grosbach2011-03-111-13/+13
| | | | llvm-svn: 127493
* Remove dead code. These ARM instruction definitions don't exist.Jim Grosbach2011-03-111-14/+0
| | | | llvm-svn: 127491
* ARM VDUPfd and VDUPfq can just be patterns. The instruction is the sameJim Grosbach2011-03-112-14/+2
| | | | | | as for VDUP32d and VDUP32q, respectively. llvm-svn: 127489
* Remove dead code. These ARM instruction definitions don't exist.Jim Grosbach2011-03-111-10/+0
| | | | llvm-svn: 127488
* ARM VDUPLNfq and VDUPLNfd definitions can just be Pat<>s for VDUPLN32qJim Grosbach2011-03-113-12/+10
| | | | | | and VDUPLN32d, respectively. llvm-svn: 127486
* ARM VREV64df and VREV64qf can just be patterns. The instruction is the sameJim Grosbach2011-03-112-9/+2
| | | | | | as for VREV64d32 and VREV64q32, respectively. llvm-svn: 127485
* Add pexpect-2.4 (a pure Python module for controlling and automating other ↵Johnny Chen2011-03-1140-2/+9758
| | | | | | | | programs) to the test directory. http://pypi.python.org/pypi/pexpect/ llvm-svn: 127484
* This FIXME has been fixed.Jim Grosbach2011-03-111-3/+0
| | | | llvm-svn: 127483
* Properly pseudo-ize ARM MVNCCi.Jim Grosbach2011-03-112-12/+15
| | | | llvm-svn: 127482
* Discover the 'lldb' executable in the setUp() hook of the base test class.Johnny Chen2011-03-111-0/+3
| | | | llvm-svn: 127481
* Add missing 'return on failure'. Previously we'd crash after emittingJim Grosbach2011-03-111-0/+1
| | | | | | the diagnostic. llvm-svn: 127480
* Add a mechanism to discover the full path of the 'lldb' program into the ↵Johnny Chen2011-03-111-6/+59
| | | | | | | | test driver. This provides a way to potentially provide conversational interactions with 'lldb' in the test suite. llvm-svn: 127479
* Remove optimization emitting a reference insted of label difference, since ↵Jan Sjödin2011-03-113-21/+0
| | | | | | it can create more relocations. Removed isBaseAddressKnownZero method, because it is no longer used. llvm-svn: 127478
* Revert r127459, "Optimize trivial branches in CodeGenPrepare, which often getDaniel Dunbar2011-03-1116-31/+17
| | | | | | created from the", it broke some GCC test suite tests. llvm-svn: 127477
* OpenCL: if double precision floating point constant encounteredPeter Collingbourne2011-03-113-6/+15
| | | | | | without cl_khr_fp64, warn and cast to single precision llvm-svn: 127476
* Add support for the OpenCL vec_step operator, by generalising andPeter Collingbourne2011-03-1140-228/+395
| | | | | | | extending the existing support for sizeof and alignof. Original patch by Guy Benyei. llvm-svn: 127475
* Force re-linking of LLVMgold.so when its exports file changes.Oscar Fuentes2011-03-111-0/+6
| | | | llvm-svn: 127473
* Fix processing of gold.exports.Oscar Fuentes2011-03-111-1/+1
| | | | llvm-svn: 127471
OpenPOWER on IntegriCloud