summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Read/write more information of ASTContext for PCH. Overriden methods and ↵Argyrios Kyrtzidis2010-07-046-0/+45
| | | | | | instantiated-from information. llvm-svn: 107597
* When adding a visible decl, deserialize the visible decls and add it.Argyrios Kyrtzidis2010-07-041-9/+10
| | | | | | | | | | Before this commit, visible decls added before deserialization were ignored. This was not an issue since name lookup (that usually comes before the addition) forces deserialization but it is an issue for lazily declared class implicit members. We can use a PCH'ed <string> now. llvm-svn: 107596
* Don't try to install the __[u]int128_t identifier if it is already installed ↵Argyrios Kyrtzidis2010-07-046-5/+20
| | | | | | | | | | by PCHReader. Currently, adding it to visible decls of a PCH'ed translation unit has no effect because adding visible decls before deserialization has no effect (the decls won't be visible). This will be fixed in a future commit; then it will force deserialization of visible decls, so avoid pointlessly installing it. llvm-svn: 107595
* Write/read ParmVarDecl's UninstantiatedDefaultArg for PCH.Argyrios Kyrtzidis2010-07-042-1/+8
| | | | llvm-svn: 107594
* Read/write specialization info of static data members for PCH.Argyrios Kyrtzidis2010-07-045-5/+28
| | | | llvm-svn: 107593
* Add TypeLoc traversal to the RecursiveASTVisitor! Because the TypeLocs don'tNick Lewycky2010-07-041-13/+292
| | | | | | | | | | contain all the same information that their Types do, we will fall back to traversing the Types instead. The default TypeLoc visitor calls the matching Type visitor so that existing clients should continue to work with no change. Also adds element traversal to the ExtVectorType. llvm-svn: 107592
* Infer alignments of fixed frame objects when they are constructed. This ↵Evan Cheng2010-07-042-18/+7
| | | | | | ensures remat'ed loads from fixed slots have the right alignments. llvm-svn: 107591
* fix install locationNick Kledzik2010-07-041-6/+6
| | | | llvm-svn: 107589
* fix arvm5 buildsNick Kledzik2010-07-043-1/+15
| | | | llvm-svn: 107588
* indmemrem and lowerallocs are gone.Chris Lattner2010-07-041-35/+0
| | | | llvm-svn: 107587
* Initial implementation of double-precision soft-float division, moved a ↵Stephen Canon2010-07-045-54/+209
| | | | | | couple utility functions from the multiplications into the utility header llvm-svn: 107586
* Revert r107583. I no longer think that this is the way to solve the problem.Bill Wendling2010-07-041-2/+2
| | | | llvm-svn: 107585
* Mark sse_load_f32 and sse_load_f64 as having memory operandsBill Wendling2010-07-041-2/+2
| | | | | | | (SDNPMemOperand). This way when they're morphed the memory operands will be copied as well. llvm-svn: 107583
* back out r107580, I have seen what I wantedGabor Greif2010-07-041-21/+1
| | | | llvm-svn: 107582
* Proper indentation.Bill Wendling2010-07-041-1/+1
| | | | llvm-svn: 107581
* [another test commit, just to tickle the selfhost buildbots; I'll back out ↵Gabor Greif2010-07-041-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in a few minutes] second round of low-level interface squeeze-out: making all of CallInst's low-level operand accessors private If you get compile errors I strongly urge you to update your code. I tried to write the necessary clues into the header where the compiler may point to, but no guarantees. It works for my GCC. You have several options to update your code: - you can use the v2.8 ArgOperand accessors - you can go via a temporary CallSite - you can upcast to, say, User and call its low-level accessors if your code is definitely operand-order agnostic. If you run into serious problems, please comment in below thread (and back out this revision only if absolutely necessary): <http://groups.google.com/group/llvm-dev/browse_thread/thread/64650cf343b28271> llvm-svn: 107580
* Single-precision soft-float divisionStephen Canon2010-07-041-0/+193
| | | | llvm-svn: 107579
* Fix ObjCInterfaceTypeLoc to inherit from ObjCObjectTypeLoc so as to match theNick Lewycky2010-07-041-1/+1
| | | | | | | | Type hierarchy. Without this, TypeLocNodes.def will give you wrong type hierarchy information (claiming that ObjCObjectTypeLoc is the base of ObjCInterfaceTypeLoc, which it wasn't). llvm-svn: 107578
* Add a new symbol type, SymbolExtent, to represent the extents of memory ↵Jordy Rose2010-07-0414-147/+219
| | | | | | | | | | regions that may not be known at compile-time (such as those created by malloc). This replaces the old setExtent/getExtent API on Store, which used the GRState's GDM to store SVals. Also adds a getKnownValue() method to SValuator, which gets the integer value of an SVal if it is known to only have one possible value. There are more places in the code that could be using this, but in general we want to be dealing entirely in SVals, so its usefulness is limited. The only visible functionality change is that extents are now honored for any DeclRegion, such as fields and Objective-C ivars, rather than just variables. This shows up in bounds-checking and cast-size-checking. llvm-svn: 107577
* Further cleanup of ARM bswap implementations, thanks to John TytgatStephen Canon2010-07-032-27/+23
| | | | llvm-svn: 107576
* Make it fail fast if 'mydir' attribute is not overridden by subclasses ofJohnny Chen2010-07-032-5/+5
| | | | | | | | lldbtest.TestBase. Also removed some debug prints. llvm-svn: 107575
* Unbreak test on platforms where size_t != unsigned long.Benjamin Kramer2010-07-031-1/+1
| | | | llvm-svn: 107574
* Mark the operator delete associated with a virtual destructor as referenced.John McCall2010-07-032-0/+19
| | | | llvm-svn: 107573
* Mangle Objective-C pointers and block pointers in the Microsoft C++ Mangler.Charles Davis2010-07-032-16/+29
| | | | | | | | | | ObjC pointers were easy enough (as far as the ABI is concerned, they're just pointers to structs), but I had to invent a new mangling for block pointers. This is particularly worrying with the Microsoft ABI, because it is a vendor-specific ABI; extending it could come back to bite us later when MS extends it on their own (and you know they will). llvm-svn: 107572
* Provide convenience routines to save and restore the current insertionJohn McCall2010-07-031-3/+52
| | | | | | point. llvm-svn: 107570
* Minor amendment to switch-lowering improvement.Eli Friedman2010-07-031-2/+10
| | | | llvm-svn: 107569
* Fix mangling of array dimensions in the Microsoft C++ Mangler.Charles Davis2010-07-032-9/+9
| | | | llvm-svn: 107568
* Mangle member pointer types in the Microsoft C++ Mangler.Charles Davis2010-07-032-3/+21
| | | | llvm-svn: 107567
* When setting the anonymous namespace at PCH reading, it may still be ↵Argyrios Kyrtzidis2010-07-034-6/+22
| | | | | | | | initializing so avoid the invariant checks at NamespaceDecl::setAnonymousNamespace(). llvm-svn: 107566
* Note switch-lowering inefficiency.Eli Friedman2010-07-031-0/+36
| | | | llvm-svn: 107565
* Fix mangling of function pointers in the Microsoft C++ Mangler.Charles Davis2010-07-032-0/+8
| | | | llvm-svn: 107564
* Abstracted the lldb-specific unittest.TestCase.setUp()/tearDown() in a separateJohnny Chen2010-07-038-135/+108
| | | | | | | | | | | module lldbtest.py and refactored the existing test cases to derive from the abstract base class lldbtest.TestBase. MOdified the test driver (dotest.py and dotest.pl) to set up additional PYTHONPATH component for locating the lldbtest module, which sits in the same directory. llvm-svn: 107563
* Forward -fno-builtin to clang, add .cp as a supportedShantonu Sen2010-07-031-0/+2
| | | | | | | | | extension if you otherwise configure scan-build to do c++ static analysis. OKed by Ted llvm-svn: 107562
* Fix mangling of array parameters for functions in the Microsoft C++ Mangler.Charles Davis2010-07-032-11/+22
| | | | | | | | | | | Only actual functions get mangled correctly; I don't know how to fix it for function pointers yet. Thanks to John McCall for the hint. Also, mangle anonymous tag types. I don't have a suitable testcase yet; I have a feeling that that's going to need support for static locals, and I haven't figured out exactly how MSVC's scheme for mangling those works. llvm-svn: 107561
* Add AVX SSE4.1 blend, mpsadbw and vdpBruno Cardoso Lopes2010-07-033-0/+132
| | | | llvm-svn: 107560
* Added the skeleton of an IR transformer that willSean Callanan2010-07-037-5/+207
| | | | | | | | | | prepare IR for execution in the target. Wired the expression command to use this IR transformer when conversion to DWARF fails, and wired conversion to DWARF to always fail (well, we don't generate any DWARF...) llvm-svn: 107559
* Add AVX SSE4.1 binop (some forms of packed max,min,mul,pack,cmp) instructionsBruno Cardoso Lopes2010-07-033-0/+202
| | | | llvm-svn: 107558
* Fix typo.Eric Christopher2010-07-031-1/+1
| | | | llvm-svn: 107556
* Marginally smaller implementations of bswap for ARMv4, ARMv5 that avoid the ↵Stephen Canon2010-07-032-32/+26
| | | | | | need to establish a frame llvm-svn: 107555
* Renamed unsigned->float routines to match GCC conventionStephen Canon2010-07-034-6/+6
| | | | llvm-svn: 107554
* Add AVX SSE4.1 Horizontal Minimum and Position instructionBruno Cardoso Lopes2010-07-033-0/+19
| | | | llvm-svn: 107552
* Lazily declare default constructors. We now delay the construction ofDouglas Gregor2010-07-039-23/+128
| | | | | | | | | | | | | | | | | | declarations for implicit default constructors, copy constructors, copy assignment operators, and destructors. On a "simple" translation unit that includes a bunch of C++ standard library headers, we generate relatively few of these implicit declarations now: 4/159 implicit default constructors created 18/236 implicit copy constructors created 70/241 implicit copy assignment operators created 0/173 implicit destructors created And, on this translation unit, this optimization doesn't really provide any benefit. I'll do some more performance measurements soon, but this completes the implementation work for <rdar://problem/8151045>. llvm-svn: 107551
* Remove isSS argument from CreateFixedObject. Fixed objects cannot be spill ↵Evan Cheng2010-07-0319-74/+58
| | | | | | slots so it's always false. llvm-svn: 107550
* Add AVX SSE4.1 round instructionsBruno Cardoso Lopes2010-07-033-0/+140
| | | | llvm-svn: 107549
* ARM before armv6 did not supprt 'rev' instructionNick Kledzik2010-07-032-0/+31
| | | | llvm-svn: 107548
* Detect and handle COPY in many places.Jakob Stoklund Olesen2010-07-0310-40/+73
| | | | | | | This code is transitional, it will soon be possible to eliminate isExtractSubreg, isInsertSubreg, and isMoveInstr in most places. llvm-svn: 107547
* Document that BasicAA respects noalias, while InterproceduralBasicAADan Gohman2010-07-022-4/+8
| | | | | | does not. llvm-svn: 107546
* Test variable with function ptr type and that break on the function works.Johnny Chen2010-07-021-0/+90
| | | | llvm-svn: 107545
* Describe which dependencies are relevant to noalias, and document howDan Gohman2010-07-022-1/+11
| | | | | | AliasAnalyses have the choice to respect noalias. llvm-svn: 107544
* Lazily declare implicit copy constructors.Douglas Gregor2010-07-028-19/+88
| | | | llvm-svn: 107543
OpenPOWER on IntegriCloud