summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* TypeLegalizer: Add support for passing of vector-promoted types in registers ↵Nadav Rotem2011-06-042-2/+60
| | | | | | (copyFromParts/copyToParts). llvm-svn: 132649
* TypeLegalizer: Fix a bug in the promotion of elements of integer vectors.Nadav Rotem2011-06-041-16/+22
| | | | | | | | | (only happens when using the -promote-elements option). The correct legalization order is to first try to promote element. Next, we try to widen vectors. llvm-svn: 132648
* noexcept for <unordered_set>.Howard Hinnant2011-06-0411-78/+826
| | | | llvm-svn: 132647
* noexcept for <unordered_map>.Howard Hinnant2011-06-0412-152/+1014
| | | | llvm-svn: 132646
* Refactor parsing of variable names (ie., %foo and @foo) since they have the sameNick Lewycky2011-06-042-50/+46
| | | | | | | rules. Also refactor "read string until quote" into its own function. No functionality change! llvm-svn: 132645
* Add more tests for cxa_guard methods. This includes our first two tests usingNick Lewycky2011-06-041-0/+75
| | | | | | | | | actual threads! There's no build file for libcxxabi, so I'll tell you that I built it with this: $ g++-4.6 -pthread -std=gnu++0x test_guard.cpp ../src/cxa_guard.o -o test_guard llvm-svn: 132644
* Add support for @GOTPTOFF in i386 mode.Nick Lewycky2011-06-042-0/+11
| | | | llvm-svn: 132643
* Made more implementation details of [multi]map/set noexcept.Howard Hinnant2011-06-041-16/+17
| | | | llvm-svn: 132642
* Cast unused parameter to void.Hans Wennborg2011-06-041-0/+1
| | | | llvm-svn: 132641
* noexcept for <set>. Plus a few fixes to noexcept for <map>.Howard Hinnant2011-06-0423-128/+723
| | | | llvm-svn: 132640
* noexcept for <map>.Howard Hinnant2011-06-0412-92/+752
| | | | llvm-svn: 132639
* If the block that we're threading through is jumped to by an indirect branch,Bill Wendling2011-06-042-1/+72
| | | | | | | | | | | | then we don't want to set the destination in the indirect branch to the destination. This is because the indirect branch needs its destinations to have had their block addresses taken. This isn't so of the new critical edge that's split during this process. If it turns out that the destination block has only one predecessor, and that being a BB with an indirect branch, then it won't be marked as 'used' and may be removed. PR10072 llvm-svn: 132638
* Revert r132630. GCC passes everything down, we aren't trying to replicate that.Nick Lewycky2011-06-041-1/+0
| | | | llvm-svn: 132637
* Drop a RecordKeeper reference that wasn't necessary.Jakob Stoklund Olesen2011-06-043-10/+7
| | | | llvm-svn: 132636
* Adjust the linker for PowerPC64/-m32 on FreeBSD too.Roman Divacky2011-06-041-0/+5
| | | | llvm-svn: 132635
* Make -m32 work on FreeBSD/PowerPC64.Roman Divacky2011-06-042-0/+7
| | | | llvm-svn: 132634
* Add a testcase to demonstrate the problem where phi translation isDan Gohman2011-06-041-0/+27
| | | | | | ignored for clobbering partial-alias loads. llvm-svn: 132633
* Reapply r131781, now that the GVN bug with partially-aliasing loadsDan Gohman2011-06-043-2/+143
| | | | | | is disabled. llvm-svn: 132632
* Disable the main feature of 130180, the elimination of loads that areDan Gohman2011-06-042-12/+18
| | | | | | | | | | redundant with partially-aliasing loads. When computing what portion of a clobbering load value is needed, it doesn't consider phi-translation which may have occurred between the clobbing load and the redundant load. llvm-svn: 132631
* GCC passes -z foo directly through to the linker (and yes -z=foo becomesNick Lewycky2011-06-041-0/+1
| | | | | | "-z =foo"). Do the same thing in clang. llvm-svn: 132630
* On linux, -nostdlib was causing a --start-group with no --end-group to be passedNick Lewycky2011-06-042-3/+7
| | | | | | to the linker. llvm-svn: 132629
* Remove this test, which should have been reverted along with r131781.Dan Gohman2011-06-041-131/+0
| | | | llvm-svn: 132628
* Use processor name in the target triple. This fixes PowerPC64 to generateRoman Divacky2011-06-041-3/+2
| | | | | | 64bit code for example. llvm-svn: 132627
* Identifiers with _CapitalLetter are reserved, so don't use them. Prefer theNick Lewycky2011-06-041-7/+7
| | | | | | | common C++ pattern of using the same name for the constructor argument as you do for the member. Noticed by inspection. llvm-svn: 132626
* Revert r131781 again. Apparently there is more going on here.Dan Gohman2011-06-042-12/+2
| | | | llvm-svn: 132625
* Silence compiler warnings.Jakob Stoklund Olesen2011-06-042-6/+10
| | | | llvm-svn: 132624
* These tests require particular registered targets. Declared as such.Galina Kistanova2011-06-044-0/+4
| | | | llvm-svn: 132623
* Reimplement r132572 on top of a FoldingSet, thus hopefully solving bothAlexis Hunt2011-06-043-6/+105
| | | | | | the self-host failures and Chandler's concerns. llvm-svn: 132622
* Teach TableGen to evaluate DAG expressions as set operations.Jakob Stoklund Olesen2011-06-045-1/+593
| | | | | | | | | | | | | | | | | A TableGen backend can define how certain classes can be expanded into ordered sets of defs, typically by evaluating a specific field in the record. The SetTheory class can then evaluate DAG expressions that refer to these named sets. A number of standard set and list operations are predefined, and the backend can add more specialized operators if needed. The -print-sets backend is used by SetTheory.td to provide examples. This is intended to simplify how register classes are defined: def GR32_NOSP : RegisterClass<"X86", [i32], 32, (sub GR32, ESP)>; llvm-svn: 132621
* Fold assert-only-used variable into the assert.Nick Lewycky2011-06-041-2/+1
| | | | llvm-svn: 132620
* Remove extraneous "virtual" keyword and non-virtual destructor. Caught byNick Lewycky2011-06-041-3/+1
| | | | | | -Wnon-virtual-dtor! llvm-svn: 132619
* [analyzer] Change an indent-if to an early return. No functionality change.Jordy Rose2011-06-041-39/+39
| | | | llvm-svn: 132618
* [analyzer] Don't crash when copying an unknown number of bytes with ↵Jordy Rose2011-06-042-11/+31
| | | | | | memcpy(). Also handle all memcpy-family return values in evalCopyCommon(), rather than having some outside and some inside. llvm-svn: 132617
* Missing include of climits in the new BranchProbability pass.Andrew Trick2011-06-041-0/+1
| | | | llvm-svn: 132616
* Created a std::string in the base StopInfo class for the description andGreg Clayton2011-06-045-12/+174
| | | | | | | cleaned up all base classes that had their own copy. Added a SetDescription accessor to the StopInfo class. llvm-svn: 132615
* [analyzer] Remove extra assignment that actually lost a few of the assumptions.Jordy Rose2011-06-041-1/+0
| | | | llvm-svn: 132614
* New BranchProbabilityInfo analysis. Patch by Jakub Staszak!Andrew Trick2011-06-045-0/+419
| | | | | | | | | | | BranchProbabilityInfo provides an interface for IR passes to query the likelihood that control follows a CFG edge. This patch provides an initial implementation of static branch predication that will populate BranchProbabilityInfo for branches with no external profile information using very simple heuristics. It currently isn't hooked up to any external profile data, so static prediction does all the work. llvm-svn: 132613
* Add support for builtin astype:Tanya Lattner2011-06-0421-3/+221
| | | | | | | __builtin_astype(): Used to reinterpreted as another data type of the same size using for both scalar and vector data types. Added test case. llvm-svn: 132612
* Reapply r131781 (revert r131809), now that some BasicAA shortcomingsDan Gohman2011-06-043-2/+143
| | | | | | it exposed are fixed. llvm-svn: 132611
* Rework r132576.Devang Patel2011-06-042-2/+5
| | | | | | Emit debug info only if there is an insertion point. The debug info should not force an insertion point. Codegen may later on decide to not emit code for some reason, see extensive comment in CodeGenFunction::EmitStmt(), and debug info should not get in the way. llvm-svn: 132610
* Fix BasicAA's recursion detection so that it doesn't pessimizeDan Gohman2011-06-043-37/+95
| | | | | | | | | queries in the case of a DAG, where a query reaches a node visited earlier, but it's not on a cycle. This avoids MayAlias results in cases where BasicAA is expected to return MustAlias or PartialAlias in order to protect TBAA. llvm-svn: 132609
* [analyzer] Fix comment for (still-disabled) evalStrncpyJordy Rose2011-06-041-1/+1
| | | | llvm-svn: 132608
* [analyzer] Fix handling of "copy zero bytes" for memcpy and friends.Jordy Rose2011-06-042-5/+20
| | | | llvm-svn: 132607
* Reapply 132424 with fixes. This fixes PR10068.Stuart Hastings2011-06-038-18/+153
| | | | | | rdar://problem/5993888 llvm-svn: 132606
* [analyzer] __mempcpy_chk is the same as mempcpy (at least to CStringChecker)Jordy Rose2011-06-032-1/+14
| | | | llvm-svn: 132605
* Improvements to abbreviations for PCH which add support for EnumDecl, ↵Jonathan D. Turner2011-06-034-40/+271
| | | | | | ObjCIvarDecl, TypedefDecl, VarDecl and FieldDecl and improve support for ParmVarDecl. llvm-svn: 132604
* Expose @synthesize and @dynamic via their own cursor kinds inDouglas Gregor2011-06-036-8/+26
| | | | | | libclang. Fixes <rdar://problem/9537904>. llvm-svn: 132603
* Fix some tests that depend on register allocation.Jakob Stoklund Olesen2011-06-034-12/+12
| | | | llvm-svn: 132602
* Blackfin always uses a reserved call frame.Jakob Stoklund Olesen2011-06-033-2/+7
| | | | | | | Materializing the stack pointer update before a call requires a scratch register that may not be available. llvm-svn: 132601
* These tests require particular registered targets. Declared as such.Galina Kistanova2011-06-0332-0/+33
| | | | llvm-svn: 132600
OpenPOWER on IntegriCloud