summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* 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-073-0/+156
| | | | llvm-svn: 143915
* Add AVX2 VPMOVMASK instructions and intrinsics.Craig Topper2011-11-073-0/+129
| | | | llvm-svn: 143904
* Add AVX2 VEXTRACTI128 and VINSERTI128 instructions. Fix VPERM2I128 to be ↵Craig Topper2011-11-073-4/+65
| | | | | | qualified with HasAVX2 instead of HasAVX. Mark VINSERTF128 and VEXTRACTF128 as never having side effects. llvm-svn: 143902
* Fix accidental edit to __builtin_ia32_vperm2f128_ps256's nameCraig Topper2011-11-071-1/+1
| | | | llvm-svn: 143901
* Fix CRT selection logic when using CMake NMake generator.NAKAMURA Takumi2011-11-061-2/+2
| | | | | | | | CMAKE_CONFIGURATION_TYPES is only set on Visual Studio generators. For NMake CMAKE_BUILD_TYPE is used instead. Patch by EJose Fonseca! llvm-svn: 143898
* More AVX2 instructions and their intrinsics.Craig Topper2011-11-068-19/+152
| | | | llvm-svn: 143895
* Replace (Lower|Upper)caseString in favor of StringRef's newest methods.Benjamin Kramer2011-11-0611-59/+21
| | | | llvm-svn: 143891
* Fix a typo.Benjamin Kramer2011-11-061-1/+1
| | | | llvm-svn: 143890
* Revert "llvm-config-2: Switch to using real library dependency table." while IDaniel Dunbar2011-11-061-1/+10
| | | | | | investigate build failure. llvm-svn: 143888
* llvm-config: Users are allowed to provide component names in mixed case.Daniel Dunbar2011-11-061-2/+5
| | | | llvm-svn: 143881
* ADT/StringRef: Add ::lower() and ::upper() methods.Daniel Dunbar2011-11-062-0/+36
| | | | llvm-svn: 143880
* llvm-config-2: Switch to using real library dependency table.Daniel Dunbar2011-11-061-10/+1
| | | | | | | - Also, fix a refacto that left extra "all" component in list (this is now defined in the groups explicitly) llvm-svn: 143879
* Release Notes: add a description of -enable-iv-rewrite.Andrew Trick2011-11-061-0/+23
| | | | llvm-svn: 143878
* 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
* docs/GettingStarted.html: [Git] Add another example for "[Gmail]/Drafts" in ↵NAKAMURA Takumi2011-11-061-0/+2
| | | | | | | | Traditional Chinese. Thanks to Chen Weiren. llvm-svn: 143862
* Add more AVX2 instructions and intrinsics.Craig Topper2011-11-064-21/+214
| | | | llvm-svn: 143861
* CMake should join the party in a post 3.0 world. ;] This brings CMake'sChandler Carruth2011-11-051-1/+1
| | | | | | version in-line with the configure-based version. llvm-svn: 143834
* Add support for passing i1, i8, and i16 call parameters. Also, be sure toChad Rosier2011-11-052-28/+83
| | | | | | | 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
* Update lit's list of tools.Benjamin Kramer2011-11-051-4/+6
| | | | llvm-svn: 143815
* 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-058-48/+23
| | | | | | | | 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-052-29/+78
| | | | llvm-svn: 143808
* Fix pasto.Benjamin Kramer2011-11-052-4/+4
| | | | llvm-svn: 143802
* Add more PRI.64 macros for MSVC and use them throughout the codebase.Benjamin Kramer2011-11-0512-21/+54
| | | | llvm-svn: 143799
* build/cmake: Enable initial llvm-build integration.Daniel Dunbar2011-11-051-0/+48
| | | | | | | | - Generates the llvm-config-2 LibraryDependencies.inc file. - Generates dependency information so that cmake will automatically reconfigure when LLVMBuild.txt files are changed. llvm-svn: 143793
* Recommend the -flto flag instead of -use-gold-plugin, and updatePeter Collingbourne2011-11-051-14/+13
| | | | | | other aspects of the gold plugin docs to reflect reality. llvm-svn: 143785
* Now that the linker supports lazily materialising globals, don'tPeter Collingbourne2011-11-051-4/+0
| | | | | | | | materialise them in LTO. I observed a ~0.5-1% speedup for an LTO link of opt. llvm-svn: 143784
* Use absolute path to exportsfile in gold plugin CMake build.Peter Collingbourne2011-11-051-1/+2
| | | | | | (Ninja generator requirement.) llvm-svn: 143783
* utils/llvm-build: Ensure output directory exists for tools which write ↵Daniel Dunbar2011-11-051-0/+14
| | | | | | various fragments. llvm-svn: 143782
* utils/llvm-build: Add trivial quoting of slashes for CMake fragment.Daniel Dunbar2011-11-051-2/+16
| | | | llvm-svn: 143781
* 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-042-40/+277
| | | | | | | | 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
* build/make: Fix the output path of the llvm-config-2 library dependency table.Daniel Dunbar2011-11-041-1/+1
| | | | llvm-svn: 143746
* llvm-build: Quote colons in target names, in an attempt to make msys happy.Daniel Dunbar2011-11-041-2/+15
| | | | llvm-svn: 143745
* llvm-build: Add initial --write-cmake-fragment option.Daniel Dunbar2011-11-042-11/+95
| | | | llvm-svn: 143744
* 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
* build/cmake: Change to require Python be available.Daniel Dunbar2011-11-042-51/+56
| | | | llvm-svn: 143742
* Enable support for materializing i1, i8, and i16 integers via move immediate.Chad Rosier2011-11-041-6/+11
| | | | llvm-svn: 143739
* Add mips ELF relocation types. Patch by Jack Carter!Bruno Cardoso Lopes2011-11-041-6/+55
| | | | llvm-svn: 143738
* Fix some misplaced punctuation.Bill Wendling2011-11-041-2/+2
| | | | llvm-svn: 143737
OpenPOWER on IntegriCloud