1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 16:33:37 +01:00
Commit Graph

3808 Commits

Author SHA1 Message Date
Daniel Dunbar
f17ae2a76a [lit] Add a --filter option which is useful when dealing with virtual test
paths.

llvm-svn: 148362
2012-01-18 00:03:12 +00:00
Jakob Stoklund Olesen
c5fac0a05c Add TableGen support for callee saved registers.
Targets can now add CalleeSavedRegs defs to their *CallingConv.td file.
TableGen will use this to create a *_SaveList array suitable for
returning from getCalleeSavedRegs() as well as a *_RegMask bit mask
suitable for returning from getCallPreservedMask().

llvm-svn: 148346
2012-01-17 22:46:58 +00:00
Devang Patel
84d275a823 Intel syntax: Ignore mnemonic aliases.
llvm-svn: 148316
2012-01-17 18:30:45 +00:00
Benjamin Kramer
72726c8396 Add an LLDB data formatter script for llvm::SmallVector, maybe this is helpful to someone else.
This lets lldb give sane output for SmallVectors, e.g.
Before:
(lldb) p sv
(llvm::SmallVector<int, 10>) $0 = {
  (llvm::SmallVectorImpl<int>) llvm::SmallVectorImpl<int> = {
    (llvm::SmallVectorTemplateBase<int>) llvm::SmallVectorTemplateBase<int> = {
      (llvm::SmallVectorTemplateCommon<int>) llvm::SmallVectorTemplateCommon<int> = {
        (llvm::SmallVectorBase) llvm::SmallVectorBase = {
          (void *) BeginX = 0x00007fff5fbff960
...
}

After:
(lldb) p sv
(llvm::SmallVector<int, 10>) $0 = {
  (int) [0] = 42
  (int) [1] = 23
...
}

The script is still a bit rough so expect crashes for vectors of complex types.
Synthetic children are _not_ available in xcode 4.2, newer LLDBs should work though.

llvm-svn: 148308
2012-01-17 14:52:12 +00:00
David Blaikie
81e875f888 Provide better messages in llvm_unreachable.
llvm-svn: 148293
2012-01-17 07:00:13 +00:00
David Blaikie
2526691971 Remove unreachable code. (replace with llvm_unreachable to help GCC where necessary)
llvm-svn: 148284
2012-01-17 04:43:56 +00:00
David Blaikie
067ad0b263 Removing unused default switch cases in switches over enums that already account for all enumeration values explicitly.
(This time I believe I've checked all the -Wreturn-type warnings from GCC & added the couple of llvm_unreachables necessary to silence them. If I've missed any, I'll happily fix them as soon as I know about them)

llvm-svn: 148262
2012-01-16 23:24:27 +00:00
Jakob Stoklund Olesen
c477c8d35e Skip the NAME field when forming tuples.
llvm-svn: 148147
2012-01-13 22:23:50 +00:00
Jakob Stoklund Olesen
9ba097a208 Delete CodeInit and CodeRecTy from TableGen.
The code type was always identical to a string anyway. Now it is simply
a synonym. The code literal syntax [{...}] is still valid.

llvm-svn: 148092
2012-01-13 03:38:34 +00:00
Pete Cooper
f3141fef55 Added MVT::v2f16
llvm-svn: 148067
2012-01-12 23:14:13 +00:00
Argyrios Kyrtzidis
42ff94f069 Disable the crash reporter when running lit tests.
llvm-svn: 147965
2012-01-11 20:53:25 +00:00
Devang Patel
c1e4ca5839 Record asm variant id in MatchEntry and check it while matching instruction.
llvm-svn: 147858
2012-01-10 17:50:43 +00:00
David Blaikie
8d47bb30e3 Remove unnecessary default cases in switches that cover all enum values.
llvm-svn: 147855
2012-01-10 16:47:17 +00:00
Devang Patel
77ab1ea721 Use descriptive variable name and remove incorrect operand number check.
llvm-svn: 147802
2012-01-09 21:30:46 +00:00
Devang Patel
921a16318d Split AsmParser into two components - AsmParser and AsmParserVariant
AsmParser holds info specific to target parser.
AsmParserVariant holds info specific to asm variants supported by the target.

llvm-svn: 147787
2012-01-09 19:13:28 +00:00
Benjamin Kramer
0ce9fd3032 Remove VectorExtras. This unused helper was written for a type of API that is discouraged now.
llvm-svn: 147738
2012-01-07 19:42:13 +00:00
Cameron Zwarich
49330adc9c Fix TableGen so that it will emit the correct signature for FastEmit_f:
/// FastEmit_f - This method is called by target-independent code
  /// to request that an instruction with the given type, opcode, and
  /// floating-point immediate operand be emitted.
  virtual unsigned FastEmit_f(MVT VT,
                              MVT RetVT,
                              unsigned Opcode,
                              const ConstantFP *FPImm);

Currently, it emits an accidentally overloaded version without the const on the
ConstantFP*. This doesn't affect anything in the tree, since nothing causes that
method to be autogenerated, but I have been playing with some ARM TableGen
refactorings that hit this problem.

llvm-svn: 147727
2012-01-07 08:18:37 +00:00
Devang Patel
114ec077a0 Refactor.
Store AsmParser info locally. A small step towards emitting match entries for multiple asm variants.

llvm-svn: 147710
2012-01-07 01:33:34 +00:00
Devang Patel
d58787bd93 Eliminate an error check that may not work with all asm syntax variants.
llvm-svn: 147708
2012-01-07 01:22:23 +00:00
Daniel Dunbar
3237171aa4 lit/lit.TestRunner: Add an extra_substitutions argument for executeShTest --
useful for test suites which want to piggyback onto the "shtest" format style.

llvm-svn: 147684
2012-01-06 21:39:06 +00:00
Devang Patel
66d6d745d1 Do not hard code asm variant number.
llvm-svn: 147583
2012-01-05 00:51:28 +00:00
Jakob Stoklund Olesen
5a959fda3b Don't use enums larger than 1 << 31 for target features.
Patch by Andy Zhang!

llvm-svn: 147491
2012-01-03 23:04:28 +00:00
Craig Topper
b4db8689ee Add disassembler support for VPERMIL2PD and VPERMIL2PS.
llvm-svn: 147368
2011-12-30 06:23:39 +00:00
Craig Topper
089be4fefa Add FMA4 instructions to disassembler.
llvm-svn: 147367
2011-12-30 05:20:36 +00:00
Jim Grosbach
a678ad9ecc ARM VFP assembly parsing and encoding for VCVT(float <--> fixed point).
rdar://10558523

llvm-svn: 147189
2011-12-22 22:19:05 +00:00
Bob Wilson
cc2bf6e234 Remove broken command to copy tblgen tool.
tblgen has been renamed to llvm-tblgen so this command has been failing,
and it's no longer needed because llvm-tblgen is already installed by default.

llvm-svn: 147187
2011-12-22 22:12:40 +00:00
Manuel Klimek
2147506d8b Changes the JSON parser to use the SourceMgr.
Diagnostics are now emitted via the SourceMgr and we use MemoryBuffer
for buffer management. Switched the code to make use of the trailing
'0' that MemoryBuffer guarantees where it makes sense.

llvm-svn: 147063
2011-12-21 18:16:39 +00:00
Jim Grosbach
6bd1044b03 ARM NEON VLD2 assembly parsing for structure to all lanes, non-writeback.
llvm-svn: 147025
2011-12-21 00:38:54 +00:00
Manuel Klimek
8c643f1ae2 Fixing option for JSON benchmark broken since the change to size_t.
llvm-svn: 146970
2011-12-20 10:34:29 +00:00
Chandler Carruth
1663697160 Fix up the CMake build for the new files added in r146960, they're
likely to stay either way that discussion ends up resolving itself.

llvm-svn: 146966
2011-12-20 08:42:11 +00:00
David Blaikie
0c4ffec904 Revert pragma clang suppressions that confuse GCC. (I'll worry about how to suppress/fix these problems properly when we figure out how to keep LLVM -Wweak-vtables clean)
llvm-svn: 146965
2011-12-20 08:22:49 +00:00
David Blaikie
576aba04f1 Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
llvm-svn: 146960
2011-12-20 02:50:00 +00:00
Dan Gohman
7940e4e81d Add basic generic CodeGen support for half.
llvm-svn: 146927
2011-12-20 00:02:33 +00:00
Jakob Stoklund Olesen
0aa2f7755a Emit a getMatchingSuperRegClass() implementation for every target.
Use information computed while inferring new register classes to emit
accurate, table-driven implementations of getMatchingSuperRegClass().

Delete the old manual, error-prone implementations in the targets.

llvm-svn: 146873
2011-12-19 16:53:34 +00:00
Jakob Stoklund Olesen
78291d0bac Synthesize register classes for TRI::getMatchingSuperRegClass().
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
2011-12-19 16:53:28 +00:00
Manuel Klimek
6e33b2fd7d Allow for benchmarking more than 4GB of memory
llvm-svn: 146864
2011-12-19 09:56:35 +00:00
Manuel Klimek
99a78498c5 Adds a flag to allow specifying the memory limitations of the JSON benchmark.
llvm-svn: 146863
2011-12-19 09:32:05 +00:00
Manuel Klimek
2f7cf4e64b Adds a JSON parser and a benchmark (json-bench) to catch performance regressions.
llvm-svn: 146735
2011-12-16 13:09:10 +00:00
Jakob Stoklund Olesen
f51f7724cb Extract a method. No functional change.
llvm-svn: 146713
2011-12-16 00:12:05 +00:00
Daniel Dunbar
d2627d2855 build/unittests: Fix llvm-config names for gtest libraries, and bring Makefile
library names in line with those used by CMake.
 - Patch by Johannes Obermayr, with tweaks by me.

llvm-svn: 146706
2011-12-15 23:35:08 +00:00
Jakob Stoklund Olesen
bc821819f3 Use the proper comparator for set_intersection.
llvm-svn: 146674
2011-12-15 19:26:23 +00:00
Jakob Stoklund Olesen
9945c85b52 Synthesize missing register class intersections.
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
2011-12-15 16:48:55 +00:00
Daniel Dunbar
a16a63f190 llvm-build: Switch to using the common subdirectory list instead of
autodiscovery.

llvm-svn: 146437
2011-12-12 22:45:59 +00:00
Daniel Dunbar
b72534060e LLVMBuild: Introduce a common section which currently has a list of the
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
2011-12-12 22:45:54 +00:00
Daniel Dunbar
495f7b57f8 llvm-build: Don't write out the required_libraries list for "special" components, it is generated.
llvm-svn: 146435
2011-12-12 22:45:41 +00:00
Daniel Dunbar
ecff3756fa llvm-build: Add sketchy support for preserving comments when using
--write-llvmbuild.

llvm-svn: 146434
2011-12-12 22:45:35 +00:00
Daniel Dunbar
30d6a45140 LLVMBuild: Remove trailing newline, which irked me.
llvm-svn: 146409
2011-12-12 19:48:00 +00:00
Jakob Stoklund Olesen
bc03793434 Extract a method.
llvm-svn: 146374
2011-12-12 16:16:24 +00:00
Jim Grosbach
57478f4961 ARM: NEON SHLL instruction immediate operand range checking.
llvm-svn: 146003
2011-12-07 01:07:24 +00:00
Jim Grosbach
14e284f16a Extend AsmMatcher token literal matching to allow aliasing.
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
2011-12-06 23:43:54 +00:00
Daniel Dunbar
3e99464701 llvm-build: Don't generate duplicate dependencies when LLVMBuild files define
multiple components.

llvm-svn: 145989
2011-12-06 23:13:42 +00:00
Evan Cheng
5061553f9d First chunk of MachineInstr bundle support.
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
2011-12-06 22:12:01 +00:00
Jim Grosbach
f972c503d8 Tidy up. Fix naming convention stuff for some internal functions.
llvm-svn: 145974
2011-12-06 22:07:02 +00:00
Sebastian Pop
182ae6a6fa use space star instead of star space
llvm-svn: 145944
2011-12-06 17:34:16 +00:00
Sebastian Pop
cb55bb22ab add missing point at the end of sentences
llvm-svn: 145943
2011-12-06 17:34:11 +00:00
Jim Grosbach
fb734dff3c ARM NEON VEXT aliases for data type suffices.
llvm-svn: 145726
2011-12-02 23:34:39 +00:00
Dylan Noblesmith
afe4ff5324 TableGen: fix CMake build s'more
Oops, missed another missing file from r145629.

llvm-svn: 145636
2011-12-01 21:53:39 +00:00
Anshuman Dasgupta
f754c8bf8e Add a deterministic finite automaton based packetizer for VLIW architectures
llvm-svn: 145629
2011-12-01 21:10:21 +00:00
Jim Grosbach
5c613a4c40 Replace an assert() with an actual diagnostic.
llvm-svn: 145535
2011-11-30 23:16:25 +00:00
Jim Grosbach
fa9f6ccd62 ARM parsing for VLD1 two register all lanes, no writeback.
llvm-svn: 145504
2011-11-30 18:21:25 +00:00
Jim Grosbach
d97df5c06a llvm_unreachable() is not for user diagnostics....
llvm-svn: 145465
2011-11-30 01:15:55 +00:00
Jim Grosbach
693ce8291c ARM parsing aliases for VLD1 single register all lanes.
llvm-svn: 145464
2011-11-30 01:09:44 +00:00
Daniel Dunbar
4e00f5f8fd build/CMake: Finish removal of add_llvm_library_dependencies.
llvm-svn: 145420
2011-11-29 19:25:30 +00:00
NAKAMURA Takumi
9e88060bdd lit/TestRunner.py: Try to catch ERROR_FILE_NOT_FOUND, too.
Thanks to Francois, to let me know.

llvm-svn: 145381
2011-11-29 06:40:50 +00:00
Bob Wilson
d6042faeb9 Install llvmCore to /usr/local. <rdar://problem/10390708>
llvm-svn: 145378
2011-11-29 06:11:56 +00:00
Daniel Dunbar
36e9b032cd llvmbuild/CMake: Update CMake output fragment to include explicit library
dependency information.

llvm-svn: 145328
2011-11-29 00:06:50 +00:00
Bill Wendling
d576ee9a81 Support a 'final' release candidate tag.
llvm-svn: 145243
2011-11-28 11:45:10 +00:00
NAKAMURA Takumi
e33c002bee lit/TestRunner.py: Use RemoveForce().
llvm-svn: 145223
2011-11-28 01:55:08 +00:00
NAKAMURA Takumi
6393cd009c lit/TestRunner.py: [Win32] Introduce WinWaitReleased(f), to wait for file 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
2011-11-28 01:55:01 +00:00
Craig Topper
cfb4ed9cd4 Remove some unnecessary filtering checks from X86 disassembler table build.
llvm-svn: 144986
2011-11-19 05:48:20 +00:00
Daniel Dunbar
50227df250 llvm-build: Attempt to work around a CMake Makefile generator bug that doesn't
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
2011-11-17 01:19:53 +00:00
Owen Anderson
48a129b50e Rename MVT::untyped to MVT::Untyped to match similar nomenclature.
llvm-svn: 144747
2011-11-16 01:02:57 +00:00
Evan Cheng
47d8f8af84 Add vmov.f32 to materialize f32 immediate splats which cannot be handled by
integer variants. rdar://10437054

llvm-svn: 144608
2011-11-15 02:12:34 +00:00
Jim Grosbach
2ac98a24aa ARM parsing datatype suffix variants for fixed-writeback VLD1/VST1 instructions.
rdar://10435076

llvm-svn: 144606
2011-11-15 01:46:57 +00:00
Jim Grosbach
97cb1f6146 Tidy up. Formatting.
llvm-svn: 144598
2011-11-15 01:05:12 +00:00
Daniel Dunbar
9763106c94 LLVMBuild: Add info for gtest.
llvm-svn: 144445
2011-11-12 02:11:04 +00:00
Daniel Dunbar
d6784c1269 LLVMBuild: Alphabetize required_libraries lists.
llvm-svn: 144416
2011-11-11 22:59:23 +00:00
Daniel Dunbar
fe59bd30be llvm-build: Add --configure-target-def-file option.
- Can be used to generate the substitution values we currently use for the various target related .def files.

llvm-svn: 144345
2011-11-11 00:24:00 +00:00
Daniel Dunbar
846fb32afc LLVMBuild: Add explicit information on whether targets define an assembly printer, assembly parser, or disassembler.
llvm-svn: 144344
2011-11-11 00:23:56 +00:00
Daniel Dunbar
138437ad27 build/Make & CMake: Pass the appropriate --native-target and --enable-targets
options to llvm-build, so the all-targets etc. components are defined properly.

llvm-svn: 144255
2011-11-10 01:16:48 +00:00
Daniel Dunbar
f0c4aed0ab llvm-build: Add --native-target and --enable-targets options, and add logic to
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
2011-11-10 00:50:07 +00:00
Daniel Dunbar
cd4a25f864 llvm-build: Split out the validation logic.
llvm-svn: 144252
2011-11-10 00:49:58 +00:00
Daniel Dunbar
c09b47db8f llvm-build: Add an explicit component type to represent targets.
- Gives us a place to hang target specific metadata (like whether the target has a JIT).

llvm-svn: 144250
2011-11-10 00:49:51 +00:00
Daniel Dunbar
44d7c5fbba llvm-build: Tidy up options.
llvm-svn: 144249
2011-11-10 00:49:42 +00:00
Owen Anderson
ce22d2b033 Remove this from the CMake build since I erased the file.
llvm-svn: 144245
2011-11-10 00:07:22 +00:00
Owen Anderson
507b8b1b34 Remove the old-style ARM disassembler, which is no longer used.
llvm-svn: 144243
2011-11-09 23:56:06 +00:00
Craig Topper
01b852b95a More AVX2 instructions and their intrinsics.
llvm-svn: 143895
2011-11-06 23:04:08 +00:00
Daniel Dunbar
ba1bf9cd90 utils/llvm-build: Ensure output directory exists for tools which write various fragments.
llvm-svn: 143782
2011-11-05 04:07:49 +00:00
Daniel Dunbar
eea4a6ec84 utils/llvm-build: Add trivial quoting of slashes for CMake fragment.
llvm-svn: 143781
2011-11-05 04:07:43 +00:00
Daniel Dunbar
f1bb0dd894 llvm-build: Quote colons in target names, in an attempt to make msys happy.
llvm-svn: 143745
2011-11-04 23:40:11 +00:00
Daniel Dunbar
ef2350c738 llvm-build: Add initial --write-cmake-fragment option.
llvm-svn: 143744
2011-11-04 23:10:37 +00:00
Bob Wilson
6269524bb5 Build llvmCore with RTTI enabled. <rdar://problem/10395761>
llvm-svn: 143714
2011-11-04 17:57:13 +00:00
Daniel Dunbar
36f864d5ad utils: Rename the "llvmbuild" script to llvm-compilers-check.
llvm-svn: 143673
2011-11-04 01:09:02 +00:00
Daniel Dunbar
1acfa4de23 llvm-build: Add initial code for --write-make-fragment.
llvm-svn: 143661
2011-11-03 22:46:19 +00:00
Daniel Dunbar
86aba0bafd utils: Remove (way) old nightly test scripts, I don't think anyone uses them and LNT has way better tools than this.
llvm-svn: 143655
2011-11-03 21:03:53 +00:00
Daniel Dunbar
1ab272adac llvm-build: Avoid followlinks keyword argument to os.walk.
- llvm-build should now be Python2.4 compatible as best I know.

llvm-svn: 143641
2011-11-03 19:45:52 +00:00
Daniel Dunbar
3760ebeebb build: Add initial cut at LLVMBuild.txt files.
llvm-svn: 143634
2011-11-03 18:53:17 +00:00
Daniel Dunbar
33ec90d5a9 llvm-build: Update --write-llvmbuild to write out a standard LLVM style file
header.

llvm-svn: 143629
2011-11-03 17:56:31 +00:00
Daniel Dunbar
59c32a015d llvm-build: Add "--write-library-table" option for generating the C++ library
dependency table used by llvm-config.

llvm-svn: 143628
2011-11-03 17:56:28 +00:00
Daniel Dunbar
c29c610bd2 llvm-build: Add --write-llvmbuild option, which writes out the component tree.
- Useful for migrating or auto-upgrading the format schema.

llvm-svn: 143626
2011-11-03 17:56:21 +00:00
Daniel Dunbar
7bd392c820 llvm-build: Add --print-tree command line option.
llvm-svn: 143625
2011-11-03 17:56:18 +00:00
Daniel Dunbar
53a6995401 llvm-build: Fill in some details w.r.t. component's parents.
llvm-svn: 143624
2011-11-03 17:56:16 +00:00
Daniel Dunbar
a21266263d llvm-build: Validate information on the loaded components and form the topological ordering among them (as well as validating that there are no cycles).
- Currently we require that all references between components (except the parent relation) fit into a DAG -- this could be relaxed later if it ever proves to be useful.

llvm-svn: 143623
2011-11-03 17:56:12 +00:00
Daniel Dunbar
297cc17040 llvm-build: Fill in more of component parsing to be more strict and
differentiate between strings and lists.

llvm-svn: 143622
2011-11-03 17:56:10 +00:00
Daniel Dunbar
a695c7c611 llvm-build: Sketch code to load LLVMBuild.txt files.
llvm-svn: 143621
2011-11-03 17:56:06 +00:00
Daniel Dunbar
d50bc8ff9d build: Stub out llvm-build utility tool.
llvm-svn: 143620
2011-11-03 17:56:03 +00:00
Chandler Carruth
50523ec780 The TableGen parts of the CMake build are seriously broken. This fixes
one aspect of them by having them use the (annoying, if not broken)
proper library dependency model for adding the LLVMTableGen library as
a dependency. This could manifest as a link order issue in the presence
of separate LLVM / Clang source builds with CMake and a linker that
really cares about such things.

Also, add the Support dependency to llvm-tblgen itself so that it
doesn't rely on TableGen's transitive Support dependency. A parallel
change for clang-tblgen will be forthcoming.

llvm-svn: 143531
2011-11-02 05:03:06 +00:00
Chad Rosier
9031eff807 Rename show-diagnostics to something less ambiguous.
llvm-svn: 143525
2011-11-02 00:44:16 +00:00
Bill Wendling
c5c8918efc Do a relative path ln command instead of an absolute path one. Some people strangely enough have different directory layouts...
llvm-svn: 143302
2011-10-29 23:49:52 +00:00
Jim Grosbach
3d628952f6 Allow InstAlias's to use immediate matcher patterns that xform the value.
For example,

On ARM, "mov r3, #-3" is an alias for "mvn r3, #2", so we want to use a
matcher pattern that handles the bitwise negation when mapping to t2MVNi.

llvm-svn: 143233
2011-10-28 22:32:53 +00:00
Jim Grosbach
188121af2e Allow register classes to match a containing class in InstAliases.
If the register class in the source alias is a subclass of the register class
of the actual instruction, the alias can still match OK since the constraints
are strictly a subset of what the instruction can actually handle.

llvm-svn: 143200
2011-10-28 16:43:40 +00:00
Dan Gohman
892b86e74c Remove the Alpha backend.
llvm-svn: 143164
2011-10-27 22:56:32 +00:00
Jim Grosbach
ef4767e393 Delete dead code. Nothing ever instantiates this.
llvm-svn: 143153
2011-10-27 21:59:17 +00:00
Daniel Dunbar
b1e6d3a421 lit: Drop some unneeded code from example tests.
- Also, cleanup site.exp files in example tests.

llvm-svn: 143141
2011-10-27 20:59:19 +00:00
Dan Gohman
77125e4240 Remove the Blackfin backend.
llvm-svn: 142880
2011-10-25 00:05:42 +00:00
Dan Gohman
b54d296fd4 Remove the SystemZ backend.
llvm-svn: 142878
2011-10-24 23:48:32 +00:00
Chad Rosier
6fddc7abd1 Add options to enable each individual level for the show-diagnostics tool.
rdar://9683410

llvm-svn: 142856
2011-10-24 21:56:50 +00:00
Bill Wendling
743c5bcb96 Rename the script to indicate that this is for the TEST=simple tests.
llvm-svn: 142764
2011-10-23 20:14:06 +00:00
Bill Wendling
de530037c1 Resurrect the 'find regressions for the TEST=nightly tests' script.
llvm-svn: 142763
2011-10-23 20:13:14 +00:00
Craig Topper
0e63b4485c Add X86 RORX instruction
llvm-svn: 142741
2011-10-23 07:34:00 +00:00
Benjamin Kramer
03065133c3 Move various generated tables into read-only memory, fixing up const correctness along the way.
llvm-svn: 142726
2011-10-22 16:50:00 +00:00
Jim Grosbach
a6e536367e Assembly parsing for 2-register sequential variant of VLD2.
llvm-svn: 142691
2011-10-21 22:21:10 +00:00
Jim Grosbach
68dfc88f95 Assembly parsing for 4-register variant of VLD1.
llvm-svn: 142682
2011-10-21 20:35:01 +00:00
Jim Grosbach
2c1ca90ac9 Assembly parsing for 3-register variant of VLD1.
llvm-svn: 142675
2011-10-21 20:02:19 +00:00
Jim Grosbach
6bb38d0e97 ARM VLD parsing and encoding.
Next step in the ongoing saga of NEON load/store assmebly parsing. Handle
VLD1 instructions that take a two-register register list.

Adjust the instruction definitions to only have the single encoded register
as an operand. The super-register from the pseudo is kept as an implicit def,
so passes which come after pseudo-expansion still know that the instruction
defines the other subregs.

llvm-svn: 142670
2011-10-21 18:54:25 +00:00
Duncan Sands
926a63ed67 Ensure timestamps are not embedded into files when doing a release build.
llvm-svn: 142647
2011-10-21 09:47:14 +00:00
Bill Wendling
7956e709bf Modify the script to output the regressions and passes into categories. My Python-fu could use some improving...
llvm-svn: 142643
2011-10-21 06:58:01 +00:00
Bill Wendling
e9d5765aba Check for divide by zero.
llvm-svn: 142640
2011-10-21 06:26:01 +00:00
Duncan Sands
b3278272ae Also compare the built dragonegg objects between phases 2 and 3.
llvm-svn: 142608
2011-10-20 20:14:18 +00:00
Duncan Sands
c52861c44e Reset the system compiler each time we start a new flavour. Otherwise
the last compiler built for the previous flavour is used for the next,
for example the Debug clang compiler was being used for the initial build
of the Release LLVM.  Flavors should be independent of each other.  This
especially matters if the compiler built for the previous flavour doesn't
actually work!

llvm-svn: 142607
2011-10-20 20:10:58 +00:00
Duncan Sands
6c9aa4404d Add support for testing dragonegg. This is disabled by default.
In fact this commit is not intended to change anything unless you
use one of the new command line flags.

llvm-svn: 142577
2011-10-20 11:13:04 +00:00
Bill Wendling
71741da8ac Revamp the script to handle the 'TEST=simple' output.
llvm-svn: 142559
2011-10-20 00:45:46 +00:00
Bill Wendling
29934af872 Duncan pointed out that sometimes CC and CXX are used to specify the compiler. Also that the configure script takes care of finding an appropriate compiler if one's not specified.
llvm-svn: 142489
2011-10-19 09:47:00 +00:00
Bill Wendling
c668bbe90f Use bash instead.
llvm-svn: 142486
2011-10-19 09:25:49 +00:00
Bill Wendling
f28fe31f2e Make changes so that this runs on FreeBSD.
llvm-svn: 142482
2011-10-19 08:42:07 +00:00
Joe Abbey
1a12882b26 Adding dependencies to allow -DBUILD_SHARED_LIBS=true to complete.
llvm-svn: 142464
2011-10-19 00:13:13 +00:00
Jim Grosbach
6a932d6ad1 ARM VTBL (one register) assembly parsing and encoding.
llvm-svn: 142441
2011-10-18 23:02:30 +00:00
Bill Wendling
8e0af5ff3b Don't exit just because some early commands fail. Use the -k flag when running the checks.
llvm-svn: 142369
2011-10-18 17:27:12 +00:00
Jim Grosbach
031bb99231 ARM assembly parsing and encoding for VMOV.i64.
llvm-svn: 142356
2011-10-18 16:18:11 +00:00
Jim Grosbach
bcfb4ed53c ARM assembly parsing and encoding for VMOV/VMVN/VORR/VBIC.i32.
llvm-svn: 142321
2011-10-18 00:22:00 +00:00
Jim Grosbach
1e994e76a7 ARM assembly parsing and encoding for VMOV/VMVN/VORR/VBIC.i16.
llvm-svn: 142303
2011-10-17 23:09:09 +00:00
Jim Grosbach
f3d495fbbd ARM NEON "vmov.i8" immediate assembly parsing and encoding.
NEON immediates are "interesting". Start of the work to handle parsing them
in an 'as' compatible manner. Getting the matcher to play nicely with
these and the floating point immediates from VFP is an extra fun wrinkle.

llvm-svn: 142293
2011-10-17 22:26:03 +00:00
Bill Wendling
6e5fb6cb2c Forgot to add the project name to the 'svn ls' command.
llvm-svn: 142282
2011-10-17 21:45:07 +00:00
Bill Wendling
0200836f77 Add message to svn mkdir command.
llvm-svn: 142280
2011-10-17 21:42:29 +00:00
Owen Anderson
9e30a8355b Fix unused variable warning in the rare circumstance that we have no feature-dependent instructions.
llvm-svn: 142193
2011-10-17 16:56:47 +00:00
Benjamin Kramer
6ebeef58ed Pick low-hanging MatchEntry shrinkage fruit.
Shaves 200k off Release-Asserts clang binaries on i386.

llvm-svn: 142191
2011-10-17 16:18:09 +00:00
Bill Wendling
d425d074bd Don't download and compile compiler-rt, libcxx, and libcxxabi by default.
llvm-svn: 142185
2011-10-17 08:41:20 +00:00
Bill Wendling
f3cbc7f9a3 Update to disable asserts. Build a phase 3 compiler, and compare phase 2 files against phase 3.
llvm-svn: 142173
2011-10-17 04:46:54 +00:00
Bill Wendling
dae5ca9d5b Overhaul the 'test-release' script.
This removes support for building llvm-gcc. It will eventually add support for
building other projects.

llvm-svn: 142165
2011-10-16 22:44:08 +00:00
Bill Wendling
885861ca36 Update the tree before applying patch.
llvm-svn: 142155
2011-10-16 20:59:25 +00:00