summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add definition of the base class for floating point comparison instructionsAkira Hatanaka2011-11-071-8/+8
| | | | | | and add Mips64's version too. llvm-svn: 144018
* Add code needed for copying between 64-bit integer and floating pointerAkira Hatanaka2011-11-071-0/+6
| | | | | | registers. llvm-svn: 144017
* Add definitions of 64-bit instructions which move data between integer andAkira Hatanaka2011-11-071-0/+8
| | | | | | floating pointer registers. llvm-svn: 144016
* MBB doesn't need to be a class member.Jakob Stoklund Olesen2011-11-071-6/+4
| | | | llvm-svn: 144015
* Fix pass name after the source was moved.Jakob Stoklund Olesen2011-11-071-1/+1
| | | | llvm-svn: 144014
* Simplify some uses of utohexstr.Benjamin Kramer2011-11-0711-58/+56
| | | | | | As a side effect hex is printed lowercase instead of uppercase now. llvm-svn: 144013
* Simplify code. No functionality change.Benjamin Kramer2011-11-071-155/+91
| | | | llvm-svn: 144012
* When we notice that a member function is defined with "= delete" or "=Douglas Gregor2011-11-0713-40/+105
| | | | | | | | | | | | default", make a note of which is used when creating the initial declaration. Previously, we would wait until later to handle default/delete as a definition, but this is too late: when adding the declaration, we already treated the declaration as "user-provided" when in fact it was merely "user-declared". Fixes PR10861 and PR10442, along with a bunch of FIXMEs. llvm-svn: 144011
* Fix test for Linux.Jakob Stoklund Olesen2011-11-071-1/+1
| | | | llvm-svn: 144003
* Whitespace.Chad Rosier2011-11-071-1/+1
| | | | llvm-svn: 144002
* Tablegenify -g options.Chad Rosier2011-11-072-21/+9
| | | | llvm-svn: 144001
* Make sure we don't insert instructions before a landingpad instruction.Bill Wendling2011-11-071-2/+2
| | | | | | <rdar://problem/10405911> llvm-svn: 144000
* Remove test with int128 printing since it breaks on some platforms.Richard Trieu2011-11-071-8/+0
| | | | llvm-svn: 143997
* Expand V_SET0 to xorps by default.Jakob Stoklund Olesen2011-11-078-11/+32
| | | | | | | | | The xorps instruction is smaller than pxor, so prefer that encoding. The ExecutionDepsFix pass will switch the encoding to pxor and xorpd when appropriate. llvm-svn: 143996
* Add definition of 64-bit load upper immediate.Akira Hatanaka2011-11-072-3/+4
| | | | llvm-svn: 143994
* Include RegSaveAreaSize in the computation of stack size.Akira Hatanaka2011-11-071-0/+1
| | | | llvm-svn: 143993
* Define functions that get or set the size of area on callee's stack frame whichAkira Hatanaka2011-11-071-1/+10
| | | | | | is used to save va_arg or byval arguments passed in registers. llvm-svn: 143992
* Use array_lengthof to compute the number of iterations of a loop.Akira Hatanaka2011-11-071-6/+6
| | | | llvm-svn: 143991
* Fix patterns for unaligned 32-bit load. DSLL32 or DSRL32 should be emittedAkira Hatanaka2011-11-071-2/+2
| | | | | | when shift amount is larger than 32. llvm-svn: 143990
* Make the type of shift amount i32 in order to reduce the number of shiftAkira Hatanaka2011-11-073-5/+7
| | | | | | instruction definitions. llvm-svn: 143989
* Add 64-bit to 32-bit trunc pattern.Akira Hatanaka2011-11-071-0/+5
| | | | llvm-svn: 143988
* Add missing part of testDouglas Gregor2011-11-071-0/+14
| | | | llvm-svn: 143985
* ASTConsumer::handleTopLevelDecl will end up getting called forDouglas Gregor2011-11-072-1/+11
| | | | | | function template instantiations. Fixes <rdar://problem/10398005> / PR11312. llvm-svn: 143984
* Use StringRef::startswith to do some string comparisons.Eric Christopher2011-11-071-5/+2
| | | | llvm-svn: 143982
* [arcmt] Fix handling NSMakeCollectable inside an objc method.Argyrios Kyrtzidis2011-11-073-1/+10
| | | | llvm-svn: 143980
* [arcmt] In GC, handle (assign) @properties.Argyrios Kyrtzidis2011-11-076-130/+307
| | | | | | | | | -Move __strong/__weak added to a property type to the property attribute, e.g. "@property (assign) __weak Foo *prop;" --> "@property (weak) Foo *prop;" -Remove (assign) in a property so that it becomes strong-by-default in ARC. llvm-svn: 143979
* [arcmt] Map property decls to their GC attributes.Argyrios Kyrtzidis2011-11-073-3/+12
| | | | llvm-svn: 143978
* Add support for printing integer literals of type short, unsigned short,Richard Trieu2011-11-072-0/+28
| | | | | | | | __int128_t and __uint128_t. Short and unsigned short integer literals support is only to work around a crasher as reported in PR11179 and will be removed once Clang no longer builds short integer literals. llvm-svn: 143977
* [arcmt] In GC, change '__weak' -> '__unsafe_unretained' when appliedArgyrios Kyrtzidis2011-11-075-11/+53
| | | | | | to objects of classes that don't support ARC weak llvm-svn: 143976
* When applying ARC __weak to a non-objc pointer, do not give error thatArgyrios Kyrtzidis2011-11-072-1/+2
| | | | | | | | | __weak is unsupported by the deployment target, since it is going to be ignored anyway. Makes it easier for incremental migration from GC. llvm-svn: 143975
* Avoid the use of a local temporary for comment twines.Eric Christopher2011-11-071-6/+3
| | | | llvm-svn: 143974
* Better fix for -Wnon-virtual-dtorMatt Beaumont-Gay2011-11-071-2/+3
| | | | llvm-svn: 143972
* Allow for the case where the name of the subprogram is "".Eric Christopher2011-11-071-0/+1
| | | | | | Fixes a self-host error. llvm-svn: 143970
* Remove duplicate listings for core.DivideZeroMatt Beaumont-Gay2011-11-071-6/+0
| | | | llvm-svn: 143969
* Drastically simplify the mapping from the declaration corresponding toDouglas Gregor2011-11-072-66/+60
| | | | | | | | | | | | | | | | | | | | | | | | the injected-class-name of a class (or class template) to the declaration that results from substituting the given template arguments. Previously, we would actually perform a substitution into the injected-class-name type and then retrieve the resulting declaration. However, in certain, rare circumstances involving deeply-nested member templates, we would get the wrong substitution arguments. This new approach just matches up the declaration with a declaration that's part of the current context (or one of its parents), which will either be an instantiation (during template instantiation) or the declaration itself (during the definition of the template). This is both more efficient (we're avoiding a substitution) and more correct (we can't get the template arguments wrong in the member-template case). Fixes <rdar://problem/9676205>. Reinstated, now that we have the fix in r143967. llvm-svn: 143968
* Tighten up the conditions under which we consider ourselves to beDouglas Gregor2011-11-077-17/+56
| | | | | | | entering the context of a nested-name-specifier. Fixes <rdar://problem/10397846>. llvm-svn: 143967
* Fix llvm-objdump's MachO mode to not depend on the value returned by ↵Owen Anderson2011-11-071-6/+6
| | | | | | RelocationRef::getInfo(). llvm-svn: 143966
* Appease -Wnon-virtual-dtorMatt Beaumont-Gay2011-11-071-0/+2
| | | | llvm-svn: 143965
* Don't introduce custom nodes after legalization in TargetLowering::BuildSDIV()Richard Osborne2011-11-073-12/+18
| | | | | | and TargetLowering::BuildUDIV(). Fixes PR11283 llvm-svn: 143964
* Fix an unsafe use of Twine.Benjamin Kramer2011-11-071-5/+4
| | | | llvm-svn: 143962
* ScopInfo: Extract function getIdForParam()Tobias Grosser2011-11-072-22/+39
| | | | llvm-svn: 143961
* SCEVValidator: Move into own fileTobias Grosser2011-11-074-226/+264
| | | | llvm-svn: 143960
* ScopDetection: Introduce methods to check attributes of ValidatorResultTobias Grosser2011-11-071-13/+25
| | | | | | | | | | | | This simplifies e.g: if (Op.type == SCEVType::INT || Op.type == SCEVType::PARAM) to if (Op.isConstant()) llvm-svn: 143959
* ScopDetection: Add ValidatorResult classTobias Grosser2011-11-071-65/+85
| | | | llvm-svn: 143958
* Remove unnecessary addition to API. Replace with something much simpler.Eric Christopher2011-11-073-13/+1
| | | | llvm-svn: 143925
* Add new files to cmake.Eric Christopher2011-11-071-0/+1
| | | | llvm-svn: 143924
* Add the support code to enable the dwarf accelerator tables. Upcoming patchesEric Christopher2011-11-077-8/+268
| | | | | | | | to fix the types section (all types, not just global types), and testcases. The code to do the final emission is disabled by default. llvm-svn: 143923
* Constant expression evaluation: support for arrays.Richard Smith2011-11-075-53/+273
| | | | llvm-svn: 143922
* Add a new dwarf accelerator table prototype with the goal of replacingEric Christopher2011-11-072-0/+504
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the pubnames and pubtypes tables. LLDB can currently use this format and a full spec is forthcoming and submission for standardization is planned. A basic summary: The dwarf accelerator tables are an indirect hash table optimized for null lookup rather than access to known data. They are output into an on-disk format that looks like this: .-------------. | HEADER | |-------------| | BUCKETS | |-------------| | HASHES | |-------------| | OFFSETS | |-------------| | DATA | `-------------' where the header contains a magic number, version, type of hash function, the number of buckets, total number of hashes, and room for a special struct of data and the length of that struct. The buckets contain an index (e.g. 6) into the hashes array. The hashes section contains all of the 32-bit hash values in contiguous memory, and the offsets contain the offset into the data area for the particular hash. For a lookup example, we could hash a function name and take it modulo the number of buckets giving us our bucket. From there we take the bucket value as an index into the hashes table and look at each successive hash as long as the hash value is still the same modulo result (bucket value) as earlier. If we have a match we look at that same entry in the offsets table and grab the offset in the data for our final match. llvm-svn: 143921
* Expose a way to get the beginning of the dwarf string section.Eric Christopher2011-11-072-12/+23
| | | | llvm-svn: 143920
OpenPOWER on IntegriCloud