summaryrefslogtreecommitdiffstats
path: root/llvm/lib
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-073-7/+5
| | | | | | 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
* Make sure we don't insert instructions before a landingpad instruction.Bill Wendling2011-11-071-2/+2
| | | | | | <rdar://problem/10405911> llvm-svn: 144000
* Expand V_SET0 to xorps by default.Jakob Stoklund Olesen2011-11-071-1/+1
| | | | | | | | | 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
* Use StringRef::startswith to do some string comparisons.Eric Christopher2011-11-071-5/+2
| | | | llvm-svn: 143982
* Avoid the use of a local temporary for comment twines.Eric Christopher2011-11-071-6/+3
| | | | llvm-svn: 143974
* 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
* Don't introduce custom nodes after legalization in TargetLowering::BuildSDIV()Richard Osborne2011-11-072-10/+16
| | | | | | and TargetLowering::BuildUDIV(). Fixes PR11283 llvm-svn: 143964
* 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-076-8/+248
| | | | | | | | 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
* 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
* Fix up comment.Eric Christopher2011-11-071-1/+1
| | | | llvm-svn: 143919
* Typo.Eric Christopher2011-11-071-1/+1
| | | | llvm-svn: 143918
* Add AVX2 variable shift instructions and intrinsics.Craig Topper2011-11-071-0/+40
| | | | llvm-svn: 143915
* Add AVX2 VPMOVMASK instructions and intrinsics.Craig Topper2011-11-071-0/+38
| | | | llvm-svn: 143904
* Add AVX2 VEXTRACTI128 and VINSERTI128 instructions. Fix VPERM2I128 to be ↵Craig Topper2011-11-071-2/+38
| | | | | | qualified with HasAVX2 instead of HasAVX. Mark VINSERTF128 and VEXTRACTF128 as never having side effects. llvm-svn: 143902
* More AVX2 instructions and their intrinsics.Craig Topper2011-11-064-14/+80
| | | | llvm-svn: 143895
* Replace (Lower|Upper)caseString in favor of StringRef's newest methods.Benjamin Kramer2011-11-0610-43/+21
| | | | llvm-svn: 143891
* Fix a typo.Benjamin Kramer2011-11-061-1/+1
| | | | llvm-svn: 143890
* ADT/StringRef: Add ::lower() and ::upper() methods.Daniel Dunbar2011-11-061-0/+26
| | | | llvm-svn: 143880
* Return only the least significant 8 bits of the exit status fromPeter Collingbourne2011-11-061-1/+1
| | | | | | Process::Wait on Windows (mimicing POSIX behaviour). llvm-svn: 143876
* Add more AVX2 instructions and intrinsics.Craig Topper2011-11-062-13/+96
| | | | llvm-svn: 143861
* Add support for passing i1, i8, and i16 call parameters. Also, be sure toChad Rosier2011-11-051-28/+16
| | | | | | | zero-extend the constant integer encoding. Test case provides testing for both call parameters and materialization of i1, i8, and i16 types. llvm-svn: 143821
* Audited all the format strings in libDebugInfo and fixed those that didn't ↵Benjamin Kramer2011-11-054-13/+14
| | | | | | match the types. llvm-svn: 143814
* Reduce the offsets in DwarfDebugInfoEntry to 32 bit, they're printed with %x andBenjamin Kramer2011-11-052-3/+3
| | | | | | | | that breaks on big-endian machines. I have to clean up the 32/64 bit confusion in libDebugInfo some day. llvm-svn: 143812
* Twinify.Benjamin Kramer2011-11-051-16/+13
| | | | llvm-svn: 143811
* MachOObject: Use DataExtractor's uleb parser instead of rolling our own.Benjamin Kramer2011-11-051-21/+10
| | | | llvm-svn: 143810
* Add an option to pad an uleb128 to MCObjectWriter and remove the uleb128 ↵Benjamin Kramer2011-11-053-39/+15
| | | | | | | | encoding from the DWARF asm printer. As a side effect we now print dwarf ulebs with .ascii directives. llvm-svn: 143809
* Do simple cross-block DSE when we encounter a free statement. Fixes PR11240.Nick Lewycky2011-11-051-25/+56
| | | | llvm-svn: 143808
* Add more PRI.64 macros for MSVC and use them throughout the codebase.Benjamin Kramer2011-11-058-14/+17
| | | | llvm-svn: 143799
* Allow i1 to be promoted to i32 for ARM APCS calling convention.Chad Rosier2011-11-051-1/+1
| | | | llvm-svn: 143755
* Added missing &. Fixes <rdar://problem/10393723>Pete Cooper2011-11-041-1/+1
| | | | llvm-svn: 143753
* Enhanced vzeroupper insertion pass that avoids inserting vzeroupper where it ↵Eli Friedman2011-11-041-27/+207
| | | | | | | | is unnecessary through local analysis. Patch from Bruno Cardoso Lopes, with some additional changes. I'm going to wait for any review comments and perform some additional testing before turning this on by default. llvm-svn: 143750
* Cannot create a result register for non-legal types.Chad Rosier2011-11-041-1/+2
| | | | llvm-svn: 143749
* When materializing an i32, SExt vs ZExt doesn't matter when we're trying to fitChad Rosier2011-11-041-1/+1
| | | | | | | | in a 16-bit immediate. However, for the shorter non-legal types (i.e., i1, i8, i16) we should not sign-extend. This prevents us from materializing things such as 'true' (i.e., i1 1). llvm-svn: 143743
* Enable support for materializing i1, i8, and i16 integers via move immediate.Chad Rosier2011-11-041-6/+11
| | | | llvm-svn: 143739
OpenPOWER on IntegriCloud