summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
* Synthesize register classes for TRI::getMatchingSuperRegClass().Jakob Stoklund Olesen2011-12-192-0/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach TableGen to create the missing register classes needed for getMatchingSuperRegClass() to return maximal results. The function is still not auto-generated, so it still returns inexact results. This produces these new register classes: ARM: QQPR_with_dsub_0_in_DPR_8 QQQQPR_with_dsub_0_in_DPR_8 X86: GR64_with_sub_32bit_in_GR32_NOAX GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOSP GR64_with_sub_16bit_in_GR16_NOREX GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX_NOSP GR64_TCW64_and_GR64_with_sub_32bit_in_GR32_NOAX GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX GR64_with_sub_32bit_in_GR32_TC GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_NOAX GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_TC GR64_with_sub_32bit_in_GR32_AD GR64_with_sub_32bit_in_GR32_AD_and_GR32_NOAX The other targets in the tree are not weird enough to be affected. llvm-svn: 146872
* Allow for benchmarking more than 4GB of memoryManuel Klimek2011-12-191-3/+3
| | | | llvm-svn: 146864
* Adds a flag to allow specifying the memory limitations of the JSON benchmark.Manuel Klimek2011-12-191-7/+14
| | | | llvm-svn: 146863
* Adds a JSON parser and a benchmark (json-bench) to catch performance ↵Manuel Klimek2011-12-164-1/+104
| | | | | | regressions. llvm-svn: 146735
* Extract a method. No functional change.Jakob Stoklund Olesen2011-12-162-36/+47
| | | | llvm-svn: 146713
* build/unittests: Fix llvm-config names for gtest libraries, and bring MakefileDaniel Dunbar2011-12-153-6/+4
| | | | | | | library names in line with those used by CMake. - Patch by Johannes Obermayr, with tweaks by me. llvm-svn: 146706
* Use the proper comparator for set_intersection.Jakob Stoklund Olesen2011-12-151-1/+2
| | | | llvm-svn: 146674
* Synthesize missing register class intersections.Jakob Stoklund Olesen2011-12-152-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function TRI::getCommonSubClass(A, B) returns the largest common sub-class of the register classes A and B. This patch teaches TableGen to synthesize sub-classes such that the answer is always maximal. In other words, every register that is in both A and B will also be present in getCommonSubClass(A, B). This introduces these synthetic register classes: ARM: GPRnopc_and_hGPR GPRnopc_and_hGPR hGPR_and_rGPR GPRnopc_and_hGPR GPRnopc_and_hGPR hGPR_and_rGPR tGPR_and_tcGPR hGPR_and_tcGPR X86: GR32_NOAX_and_GR32_NOSP GR32_NOAX_and_GR32_NOREX GR64_NOSP_and_GR64_TC GR64_NOSP_and_GR64_TC GR64_NOREX_and_GR64_TC GR32_NOAX_and_GR32_NOSP GR32_NOAX_and_GR32_NOREX GR32_NOAX_and_GR32_NOREX_NOSP GR64_NOSP_and_GR64_TC GR64_NOREX_and_GR64_TC GR64_NOREX_NOSP_and_GR64_TC GR32_NOAX_and_GR32_NOSP GR32_NOAX_and_GR32_NOREX GR32_NOAX_and_GR32_NOREX_NOSP GR32_ABCD_and_GR32_NOAX GR32_NOAX_and_GR32_NOSP GR32_NOAX_and_GR32_NOREX GR32_NOAX_and_GR32_NOREX_NOSP GR32_ABCD_and_GR32_NOAX GR32_NOAX_and_GR32_TC GR32_NOAX_and_GR32_NOSP GR64_NOSP_and_GR64_TC GR32_NOAX_and_GR32_NOREX GR32_NOAX_and_GR32_NOREX_NOSP GR64_NOREX_and_GR64_TC GR64_NOREX_NOSP_and_GR64_TC GR32_ABCD_and_GR32_NOAX GR64_ABCD_and_GR64_TC GR32_NOAX_and_GR32_TC GR32_AD_and_GR32_NOAX Other targets are unaffected. llvm-svn: 146657
* llvm-build: Switch to using the common subdirectory list instead ofDaniel Dunbar2011-12-122-23/+27
| | | | | | autodiscovery. llvm-svn: 146437
* LLVMBuild: Introduce a common section which currently has a list of theDaniel Dunbar2011-12-122-7/+42
| | | | | | | | | | | subdirectories to traverse into. - Originally I wanted to avoid this and just autoscan, but this has one key flaw in that new subdirectories can not automatically trigger a rerun of the llvm-build tool. This is particularly a pain when switching back and forth between trees where one has added a subdirectory, as the dependencies will tend to be wrong. This will also eliminates FIXME implicitly. llvm-svn: 146436
* llvm-build: Don't write out the required_libraries list for "special" ↵Daniel Dunbar2011-12-122-1/+6
| | | | | | components, it is generated. llvm-svn: 146435
* llvm-build: Add sketchy support for preserving comments when usingDaniel Dunbar2011-12-122-2/+26
| | | | | | --write-llvmbuild. llvm-svn: 146434
* LLVMBuild: Remove trailing newline, which irked me.Daniel Dunbar2011-12-123-3/+2
| | | | llvm-svn: 146409
* Extract a method.Jakob Stoklund Olesen2011-12-122-14/+26
| | | | llvm-svn: 146374
* ARM: NEON SHLL instruction immediate operand range checking.Jim Grosbach2011-12-071-0/+6
| | | | llvm-svn: 146003
* Extend AsmMatcher token literal matching to allow aliasing.Jim Grosbach2011-12-061-27/+32
| | | | | | | | | | | | | | | | | For example, ARM allows: vmov.u32 s4, #0 -> vmov.i32, #0 'u32' is a more specific designator for the 32-bit integer type specifier and is legal for any instruction which accepts 'i32' as a datatype suffix. We want to say, def : TokenAlias<".u32", ".i32">; This works by marking the match class of 'From' as a subclass of the match class of 'To'. rdar://10435076 llvm-svn: 145992
* llvm-build: Don't generate duplicate dependencies when LLVMBuild files defineDaniel Dunbar2011-12-061-2/+8
| | | | | | multiple components. llvm-svn: 145989
* First chunk of MachineInstr bundle support.Evan Cheng2011-12-061-0/+1
| | | | | | | | | 1. Added opcode BUNDLE 2. Taught MachineInstr class to deal with bundled MIs 3. Changed MachineBasicBlock iterator to skip over bundled MIs; added an iterator to walk all the MIs 4. Taught MachineBasicBlock methods about bundled MIs llvm-svn: 145975
* Tidy up. Fix naming convention stuff for some internal functions.Jim Grosbach2011-12-061-12/+12
| | | | llvm-svn: 145974
* use space star instead of star spaceSebastian Pop2011-12-063-29/+29
| | | | llvm-svn: 145944
* add missing point at the end of sentencesSebastian Pop2011-12-062-66/+66
| | | | llvm-svn: 145943
* ARM NEON VEXT aliases for data type suffices.Jim Grosbach2011-12-021-0/+2
| | | | llvm-svn: 145726
* TableGen: fix CMake build s'moreDylan Noblesmith2011-12-011-0/+1
| | | | | | Oops, missed another missing file from r145629. llvm-svn: 145636
* Add a deterministic finite automaton based packetizer for VLIW architecturesAnshuman Dasgupta2011-12-014-0/+577
| | | | llvm-svn: 145629
* Replace an assert() with an actual diagnostic.Jim Grosbach2011-11-301-1/+3
| | | | llvm-svn: 145535
* ARM parsing for VLD1 two register all lanes, no writeback.Jim Grosbach2011-11-301-0/+1
| | | | llvm-svn: 145504
* llvm_unreachable() is not for user diagnostics....Jim Grosbach2011-11-301-1/+1
| | | | llvm-svn: 145465
* ARM parsing aliases for VLD1 single register all lanes.Jim Grosbach2011-11-301-0/+1
| | | | llvm-svn: 145464
* build/CMake: Finish removal of add_llvm_library_dependencies.Daniel Dunbar2011-11-291-8/+0
| | | | llvm-svn: 145420
* lit/TestRunner.py: Try to catch ERROR_FILE_NOT_FOUND, too.NAKAMURA Takumi2011-11-291-1/+3
| | | | | | Thanks to Francois, to let me know. llvm-svn: 145381
* Install llvmCore to /usr/local. <rdar://problem/10390708>Bob Wilson2011-11-291-1/+1
| | | | llvm-svn: 145378
* llvmbuild/CMake: Update CMake output fragment to include explicit libraryDaniel Dunbar2011-11-292-0/+66
| | | | | | dependency information. llvm-svn: 145328
* Support a 'final' release candidate tag.Bill Wendling2011-11-282-26/+34
| | | | llvm-svn: 145243
* lit/TestRunner.py: Use RemoveForce().NAKAMURA Takumi2011-11-281-4/+1
| | | | llvm-svn: 145223
* lit/TestRunner.py: [Win32] Introduce WinWaitReleased(f), to wait for file ↵NAKAMURA Takumi2011-11-281-0/+43
| | | | | | | | | handles to be released by children. When wait() has finished, opened handles (especially writing stdout to file) might not be released immediately. To wait for released, poll to attempt renaming. llvm-svn: 145222
* Remove some unnecessary filtering checks from X86 disassembler table build.Craig Topper2011-11-191-35/+8
| | | | llvm-svn: 144986
* llvm-build: Attempt to work around a CMake Makefile generator bug that doesn'tDaniel Dunbar2011-11-171-1/+16
| | | | | | | | properly quote strings when writing the CMakeFiles/Makefile.cmake output file (which lists the dependencies). This shows up when using CMake + MSYS Makefile generator. llvm-svn: 144873
* Rename MVT::untyped to MVT::Untyped to match similar nomenclature.Owen Anderson2011-11-161-1/+1
| | | | llvm-svn: 144747
* Add vmov.f32 to materialize f32 immediate splats which cannot be handled byEvan Cheng2011-11-151-0/+1
| | | | | | integer variants. rdar://10437054 llvm-svn: 144608
* ARM parsing datatype suffix variants for fixed-writeback VLD1/VST1 instructions.Jim Grosbach2011-11-152-5/+19
| | | | | | rdar://10435076 llvm-svn: 144606
* Tidy up. Formatting.Jim Grosbach2011-11-151-1/+1
| | | | llvm-svn: 144598
* LLVMBuild: Add info for gtest.Daniel Dunbar2011-11-121-0/+28
| | | | llvm-svn: 144445
* LLVMBuild: Alphabetize required_libraries lists.Daniel Dunbar2011-11-111-1/+1
| | | | llvm-svn: 144416
* llvm-build: Add --configure-target-def-file option.Daniel Dunbar2011-11-113-9/+115
| | | | | | - Can be used to generate the substitution values we currently use for the various target related .def files. llvm-svn: 144345
* LLVMBuild: Add explicit information on whether targets define an assembly ↵Daniel Dunbar2011-11-111-4/+22
| | | | | | printer, assembly parser, or disassembler. llvm-svn: 144344
* build/Make & CMake: Pass the appropriate --native-target and --enable-targetsDaniel Dunbar2011-11-101-4/+10
| | | | | | options to llvm-build, so the all-targets etc. components are defined properly. llvm-svn: 144255
* llvm-build: Add --native-target and --enable-targets options, and add logic toDaniel Dunbar2011-11-102-0/+117
| | | | | | | | | | handle defining the "magic" target related components (like native, nativecodegen, and engine). - We still require these components to be in the project (currently in lib/Target) so that we have a place to document them and hopefully make it more obvious that they are "magic". llvm-svn: 144253
* llvm-build: Split out the validation logic.Daniel Dunbar2011-11-101-3/+20
| | | | llvm-svn: 144252
* llvm-build: Add an explicit component type to represent targets.Daniel Dunbar2011-11-102-6/+76
| | | | | | - Gives us a place to hang target specific metadata (like whether the target has a JIT). llvm-svn: 144250
* llvm-build: Tidy up options.Daniel Dunbar2011-11-101-20/+29
| | | | llvm-svn: 144249
OpenPOWER on IntegriCloud