Jim Grosbach
d4b8249434
ARM: NEON SHLL instruction immediate operand range checking.
...
llvm-svn: 146003
2011-12-07 01:07:24 +00:00
Jim Grosbach
ba39592cee
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
cda2a8985c
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
2a81dd4a3c
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
1f5c5aa209
Tidy up. Fix naming convention stuff for some internal functions.
...
llvm-svn: 145974
2011-12-06 22:07:02 +00:00
Sebastian Pop
ac35a4d0f7
use space star instead of star space
...
llvm-svn: 145944
2011-12-06 17:34:16 +00:00
Sebastian Pop
9aa6137d97
add missing point at the end of sentences
...
llvm-svn: 145943
2011-12-06 17:34:11 +00:00
Jim Grosbach
9dff9f4c41
ARM NEON VEXT aliases for data type suffices.
...
llvm-svn: 145726
2011-12-02 23:34:39 +00:00
Dylan Noblesmith
4393d6bd05
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
08ebdc1e71
Add a deterministic finite automaton based packetizer for VLIW architectures
...
llvm-svn: 145629
2011-12-01 21:10:21 +00:00
Jim Grosbach
8eeb353071
Replace an assert() with an actual diagnostic.
...
llvm-svn: 145535
2011-11-30 23:16:25 +00:00
Jim Grosbach
3ecf976ca9
ARM parsing for VLD1 two register all lanes, no writeback.
...
llvm-svn: 145504
2011-11-30 18:21:25 +00:00
Jim Grosbach
f09b1c46cf
llvm_unreachable() is not for user diagnostics....
...
llvm-svn: 145465
2011-11-30 01:15:55 +00:00
Jim Grosbach
cd6f5e757c
ARM parsing aliases for VLD1 single register all lanes.
...
llvm-svn: 145464
2011-11-30 01:09:44 +00:00
Daniel Dunbar
539d0a8a09
build/CMake: Finish removal of add_llvm_library_dependencies.
...
llvm-svn: 145420
2011-11-29 19:25:30 +00:00
NAKAMURA Takumi
0e5bae7191
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
b103fbf005
Install llvmCore to /usr/local. <rdar://problem/10390708>
...
llvm-svn: 145378
2011-11-29 06:11:56 +00:00
Daniel Dunbar
4128db91c2
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
957cc212bb
Support a 'final' release candidate tag.
...
llvm-svn: 145243
2011-11-28 11:45:10 +00:00
NAKAMURA Takumi
a0d652e71b
lit/TestRunner.py: Use RemoveForce().
...
llvm-svn: 145223
2011-11-28 01:55:08 +00:00
NAKAMURA Takumi
57fc5adca0
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
75ffc5fbb5
Remove some unnecessary filtering checks from X86 disassembler table build.
...
llvm-svn: 144986
2011-11-19 05:48:20 +00:00
Daniel Dunbar
52f71220d5
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
ca2f78a95b
Rename MVT::untyped to MVT::Untyped to match similar nomenclature.
...
llvm-svn: 144747
2011-11-16 01:02:57 +00:00
Evan Cheng
7ca4b6eb5c
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
29cdcda80d
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
7b03fbd25c
Tidy up. Formatting.
...
llvm-svn: 144598
2011-11-15 01:05:12 +00:00
Daniel Dunbar
415ecbc34a
LLVMBuild: Add info for gtest.
...
llvm-svn: 144445
2011-11-12 02:11:04 +00:00
Daniel Dunbar
2f39f72703
LLVMBuild: Alphabetize required_libraries lists.
...
llvm-svn: 144416
2011-11-11 22:59:23 +00:00
Daniel Dunbar
f258ad81c0
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
6d617b48c7
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
807c6e4e5f
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
233c9304a8
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
79fa1e8891
llvm-build: Split out the validation logic.
...
llvm-svn: 144252
2011-11-10 00:49:58 +00:00
Daniel Dunbar
82219ad4dc
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
c83a459937
llvm-build: Tidy up options.
...
llvm-svn: 144249
2011-11-10 00:49:42 +00:00
Owen Anderson
133ccfcc22
Remove this from the CMake build since I erased the file.
...
llvm-svn: 144245
2011-11-10 00:07:22 +00:00
Owen Anderson
efc349af6c
Remove the old-style ARM disassembler, which is no longer used.
...
llvm-svn: 144243
2011-11-09 23:56:06 +00:00
Craig Topper
f01f1b5cb9
More AVX2 instructions and their intrinsics.
...
llvm-svn: 143895
2011-11-06 23:04:08 +00:00
Daniel Dunbar
0edba5c989
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
9057a3de5a
utils/llvm-build: Add trivial quoting of slashes for CMake fragment.
...
llvm-svn: 143781
2011-11-05 04:07:43 +00:00
Daniel Dunbar
b814ee46e8
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
e9733850be
llvm-build: Add initial --write-cmake-fragment option.
...
llvm-svn: 143744
2011-11-04 23:10:37 +00:00
Bob Wilson
269532de25
Build llvmCore with RTTI enabled. <rdar://problem/10395761>
...
llvm-svn: 143714
2011-11-04 17:57:13 +00:00
Daniel Dunbar
9ef81066ad
utils: Rename the "llvmbuild" script to llvm-compilers-check.
...
llvm-svn: 143673
2011-11-04 01:09:02 +00:00
Daniel Dunbar
ab3b1804fe
llvm-build: Add initial code for --write-make-fragment.
...
llvm-svn: 143661
2011-11-03 22:46:19 +00:00
Daniel Dunbar
9f01a0db7d
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
3fa708098a
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
bf9bba47a1
build: Add initial cut at LLVMBuild.txt files.
...
llvm-svn: 143634
2011-11-03 18:53:17 +00:00
Daniel Dunbar
453146e569
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
445e8f9d35
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
dbbb258666
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
f45369d7e8
llvm-build: Add --print-tree command line option.
...
llvm-svn: 143625
2011-11-03 17:56:18 +00:00
Daniel Dunbar
4897255255
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
8844e3c0b2
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
84fc5ce7af
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
dd3fb562c4
llvm-build: Sketch code to load LLVMBuild.txt files.
...
llvm-svn: 143621
2011-11-03 17:56:06 +00:00
Daniel Dunbar
01b0588b42
build: Stub out llvm-build utility tool.
...
llvm-svn: 143620
2011-11-03 17:56:03 +00:00
Chandler Carruth
39bf89b382
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
800f223b12
Rename show-diagnostics to something less ambiguous.
...
llvm-svn: 143525
2011-11-02 00:44:16 +00:00
Bill Wendling
f525e37c5d
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
d1f1b79b52
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
6acb14818d
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
4c9fca99c9
Remove the Alpha backend.
...
llvm-svn: 143164
2011-10-27 22:56:32 +00:00
Jim Grosbach
3628c64546
Delete dead code. Nothing ever instantiates this.
...
llvm-svn: 143153
2011-10-27 21:59:17 +00:00
Daniel Dunbar
e800a9cb70
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
b43c36f391
Remove the Blackfin backend.
...
llvm-svn: 142880
2011-10-25 00:05:42 +00:00
Dan Gohman
dfc96aea90
Remove the SystemZ backend.
...
llvm-svn: 142878
2011-10-24 23:48:32 +00:00
Chad Rosier
522b56d9d8
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
addcfcac5c
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
e10675a39d
Resurrect the 'find regressions for the TEST=nightly tests' script.
...
llvm-svn: 142763
2011-10-23 20:13:14 +00:00
Craig Topper
980d59832a
Add X86 RORX instruction
...
llvm-svn: 142741
2011-10-23 07:34:00 +00:00
Benjamin Kramer
0d6d098841
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
118b38cbf1
Assembly parsing for 2-register sequential variant of VLD2.
...
llvm-svn: 142691
2011-10-21 22:21:10 +00:00
Jim Grosbach
846bcff7c7
Assembly parsing for 4-register variant of VLD1.
...
llvm-svn: 142682
2011-10-21 20:35:01 +00:00
Jim Grosbach
c4360fe575
Assembly parsing for 3-register variant of VLD1.
...
llvm-svn: 142675
2011-10-21 20:02:19 +00:00
Jim Grosbach
2f2e3c4737
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
12a16dbcb0
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
7e9a7c4a7f
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
d1bb644171
Check for divide by zero.
...
llvm-svn: 142640
2011-10-21 06:26:01 +00:00
Duncan Sands
f105192ad5
Also compare the built dragonegg objects between phases 2 and 3.
...
llvm-svn: 142608
2011-10-20 20:14:18 +00:00
Duncan Sands
9341b50c07
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
2efb4dd0cb
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
6966b4c2b2
Revamp the script to handle the 'TEST=simple' output.
...
llvm-svn: 142559
2011-10-20 00:45:46 +00:00
Bill Wendling
a96c00bf47
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
f96a5bc15b
Use bash instead.
...
llvm-svn: 142486
2011-10-19 09:25:49 +00:00
Bill Wendling
cfe8232d23
Make changes so that this runs on FreeBSD.
...
llvm-svn: 142482
2011-10-19 08:42:07 +00:00
Joe Abbey
c39977d01b
Adding dependencies to allow -DBUILD_SHARED_LIBS=true to complete.
...
llvm-svn: 142464
2011-10-19 00:13:13 +00:00
Jim Grosbach
ad47cfcef9
ARM VTBL (one register) assembly parsing and encoding.
...
llvm-svn: 142441
2011-10-18 23:02:30 +00:00
Bill Wendling
06ac75c8e3
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
e4454e0de2
ARM assembly parsing and encoding for VMOV.i64.
...
llvm-svn: 142356
2011-10-18 16:18:11 +00:00
Jim Grosbach
8211c051ca
ARM assembly parsing and encoding for VMOV/VMVN/VORR/VBIC.i32.
...
llvm-svn: 142321
2011-10-18 00:22:00 +00:00
Jim Grosbach
cda32ae372
ARM assembly parsing and encoding for VMOV/VMVN/VORR/VBIC.i16.
...
llvm-svn: 142303
2011-10-17 23:09:09 +00:00
Jim Grosbach
741cd73aab
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
a5748e22e2
Forgot to add the project name to the 'svn ls' command.
...
llvm-svn: 142282
2011-10-17 21:45:07 +00:00
Bill Wendling
6bf79084c3
Add message to svn mkdir command.
...
llvm-svn: 142280
2011-10-17 21:42:29 +00:00
Owen Anderson
b7d9ee707d
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
77dfde0ba3
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
f95c94e9a6
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
7b7d077c29
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