Craig Topper
5828c654b9
Add ifdef around getSubtargetFeatureName in tablegen output file so that only targets that want the function get it. This prevents other targets from getting an unused function warning.
...
llvm-svn: 155538
2012-04-25 06:56:34 +00:00
Jim Grosbach
7ac2ac85a8
ARM: improved assembler diagnostics for missing CPU features.
...
When an instruction match is found, but the subtarget features it
requires are not available (missing floating point unit, or thumb vs arm
mode, for example), issue a diagnostic that identifies what the feature
mismatch is.
rdar://11257547
llvm-svn: 155499
2012-04-24 22:40:08 +00:00
Craig Topper
56cbdd4cd7
Remove 'XXXRegisterClass' from tablegen output. Targets should use '&XXXRegClass' instead.
...
llvm-svn: 155270
2012-04-21 01:49:25 +00:00
Andrew Trick
155245effc
TableGen'd RegPressure: Added getPressureSetName.
...
llvm-svn: 155234
2012-04-20 20:44:58 +00:00
Bill Wendling
401d727bb5
Modify the sh-bang to run out-of-the-box for FreeBSDes.
...
llvm-svn: 155230
2012-04-20 20:31:44 +00:00
Jim Grosbach
0cd0534390
TableGen support for auto-generating assembly two-operand aliases.
...
Assembly matchers for instructions with a two-operand form. ARM is full
of these, for example:
add {Rd}, Rn, Rm // Rd is optional and is the same as Rn if omitted.
The property TwoOperandAliasConstraint on the instruction definition controls
when, and if, an alias will be formed. No explicit InstAlias definitions
are required.
rdar://11255754
llvm-svn: 155172
2012-04-19 23:59:23 +00:00
Michael J. Spencer
e6c28a171e
Remove llvm-ld and llvm-stub (which is only used by llvm-ld).
...
llvm-ld is no longer useful and causes confusion and so it is being removed.
* Does not work very well on Windows because it must call a gcc like driver to
assemble and link.
* Has lots of hard coded paths which are wrong on many systems.
* Does not understand most of ld's options.
* Can be partially replaced by llvm-link | opt | {llc | as, llc -filetype=obj} |
ld, or fully replaced by Clang.
I know of no production use of llvm-ld, and hacking use should be
replaced by Clang's driver.
llvm-svn: 155147
2012-04-19 19:27:54 +00:00
Jim Grosbach
e8c60733b9
Use a SmallVector instead of std::vector for ResOperands.
...
There's almost always a small number of instruction operands, so
use a SmallVector and save on heap allocations.
llvm-svn: 155143
2012-04-19 17:52:34 +00:00
Jim Grosbach
d335490731
Update some internal naming conventions to modern style.
...
llvm-svn: 155142
2012-04-19 17:52:32 +00:00
Daniel Dunbar
31c4fe4454
llvm-lit: Inject the lit module path at the beginning of sys.path, just in case
...
the user has another lit somewhere.
llvm-svn: 155131
2012-04-19 16:31:08 +00:00
Craig Topper
626573d98d
Make fast isel use &XXXRegClass instead of XXXRegisterClass. Not a functional change since XXXRegisterClass is just a constant alias of &XXXRegClass, but should probably go away.
...
llvm-svn: 155104
2012-04-19 06:52:06 +00:00
Jim Grosbach
013a59646b
Fix typo.
...
llvm-svn: 155075
2012-04-18 23:46:25 +00:00
Bill Wendling
d32f118a5e
Add a flag to rebranch if we need to.
...
llvm-svn: 155049
2012-04-18 21:38:12 +00:00
Jim Grosbach
f77ed6f9c3
Revert "Replace some uses of std:map<std::string,...> with StringMap."
...
StringMap iterators are not deterministic, and that's more important
here than speed or memory.
llvm-svn: 155039
2012-04-18 20:24:49 +00:00
Benjamin Kramer
2991126d0d
tblgen: remove duplicated newlines.
...
llvm-svn: 155038
2012-04-18 19:22:47 +00:00
Jim Grosbach
050ec9bce7
Replace some uses of std:map<std::string,...> with StringMap.
...
llvm-svn: 155037
2012-04-18 19:13:59 +00:00
Jim Grosbach
e29486798c
Use SmallVector for the requirements on an InstAlias.
...
llvm-svn: 155034
2012-04-18 19:02:43 +00:00
Jim Grosbach
ae2ac1f597
Tidy up. Formatting.
...
llvm-svn: 155032
2012-04-18 18:56:33 +00:00
Jim Grosbach
26c6c85855
Move a few more warnings to use PrintWarning().
...
llvm-svn: 155027
2012-04-18 18:39:31 +00:00
Jim Grosbach
f8c6a6ba04
Tidy up. No need for a Twine here, as it's just constants.
...
llvm-svn: 155026
2012-04-18 18:39:27 +00:00
Jim Grosbach
5e14805a0f
Formatting.
...
llvm-svn: 155025
2012-04-18 18:39:23 +00:00
Jim Grosbach
e846a32427
Tidy up. Add a '.' at the end of the sentence.
...
llvm-svn: 155024
2012-04-18 18:39:19 +00:00
Jim Grosbach
78b59b30e7
Clean up warning text. Remove extraneous prefix.
...
llvm-svn: 155015
2012-04-18 18:09:50 +00:00
Jim Grosbach
3c537f8fb4
TableGen use PrintWarning rather than fprintf(stderr,...) for warnings.
...
That way we get source line number information from the diagnostics.
llvm-svn: 155014
2012-04-18 17:46:41 +00:00
Silviu Baranga
8e0ebc8ed7
Fixed decoding for the ARM cdp2 instruction. The restriction on the coprocessor number was removed for this instruction.
...
llvm-svn: 155000
2012-04-18 13:02:55 +00:00
Jim Grosbach
d32ea4a8a9
Sanity check error handling for TokenAlias.
...
llvm-svn: 154951
2012-04-17 21:23:52 +00:00
Manuel Klimek
47de8bd0ef
Goodbye, JSONParser...
...
llvm-svn: 154930
2012-04-17 17:21:17 +00:00
Bill Wendling
be2b67fb44
Download and build the compiler-rt project.
...
llvm-svn: 154905
2012-04-17 05:11:51 +00:00
Bill Wendling
7412502e7a
Don't tag libcxx and libcxxabi since we don't release them just yet.
...
llvm-svn: 154889
2012-04-17 01:01:55 +00:00
Jim Grosbach
ced1f200a3
Tidy up. 80 columns.
...
llvm-svn: 154881
2012-04-17 00:01:04 +00:00
Bob Wilson
da87e36649
Remove old code to strip out unwanted PPC slices for Apple llvmCore.
...
llvm-svn: 154706
2012-04-13 22:58:53 +00:00
Craig Topper
da52eeedcb
Fix target specific intrinsic handling to adjust intrinsic number before doing attribute table lookup. Also fix attribute table lookup to handle 'invalid' intrinsic correctly. Fixes PR12542
...
llvm-svn: 154658
2012-04-13 06:14:57 +00:00
Jim Grosbach
8327980405
Remove incorrect comment.
...
llvm-svn: 154533
2012-04-11 21:09:54 +00:00
Jim Grosbach
80c9f4d837
Tidy up. Remove hard tab characters.
...
llvm-svn: 154532
2012-04-11 21:02:33 +00:00
Jim Grosbach
51aa44347a
Tidy up. Whitespace.
...
llvm-svn: 154531
2012-04-11 21:02:30 +00:00
Andrew Trick
6d7aff8241
TableGen's regpressure: emit per-registerclass weight limits.
...
llvm-svn: 154518
2012-04-11 18:16:28 +00:00
Andrew Trick
2628429e92
TableGen'd regpressure: register unit set pruning.
...
The pruning is more complete if it is not done incrementally. The code
is also a tad less convluted.
llvm-svn: 154510
2012-04-11 17:35:26 +00:00
Andrew Trick
a2a5c3bb71
Tablegen'd regpressure: emit the weighted pressure limit.
...
llvm-svn: 154477
2012-04-11 04:31:33 +00:00
Andrew Trick
ccfe0f1fc6
Table-generated register pressure fixes.
...
Handle mixing allocatable and unallocatable register gracefully.
Simplify the pruning of register unit sets.
llvm-svn: 154474
2012-04-11 03:19:15 +00:00
Andrew Trick
0c60300f39
TableGen/reginfo potential bug: typo from previous checkin.
...
llvm-svn: 154452
2012-04-10 23:53:32 +00:00
Andrew Trick
360c19ad86
Fix for register pressure tables.
...
Recent refactoring introduced a bug. Fix: added buildRegUnitSets.
llvm-svn: 154382
2012-04-10 03:36:49 +00:00
Andrew Trick
218abb3a9c
Use std::includes instead of my own implementation.
...
Jakob's review.
llvm-svn: 154377
2012-04-10 03:12:29 +00:00
Andrew Trick
6b7d15e240
Added register unit sets to the target description.
...
This is a new algorithm that finds sets of register units that can be
used to model registers pressure. This handles arbitrary, overlapping
register classes. Each register class is associated with a (small)
list of pressure sets. These are the dimensions of pressure affected
by the register class's liveness.
llvm-svn: 154374
2012-04-10 02:25:24 +00:00
Andrew Trick
f73fa6bef2
Added register unit weights to the target description.
...
This is a new algorithm that associates registers with weighted
register units to accuretely model their effect on register
pressure. This handles registers with multiple overlapping
subregisters. It is possible, but almost inconceivable that the
algorithm fails to find an exact solution for a target description. If
an exact solution cannot be found, an inexact, but reasonable solution
will be chosen.
llvm-svn: 154373
2012-04-10 02:25:21 +00:00
Andrew Trick
7b51eb5f5e
Fix header comment
...
llvm-svn: 154372
2012-04-10 02:25:18 +00:00
Bob Wilson
fcde5a3ac5
Do not include multiple -arch options in CPPFLAGS.
...
llvm-svn: 154070
2012-04-05 00:35:55 +00:00
Craig Topper
2a4fe8b344
Convert assert(false) followed by a return to llvm_unreachable
...
llvm-svn: 153997
2012-04-04 04:55:46 +00:00
Bob Wilson
ba2b9f1272
Fix the install location for the Embedded makefile target.
...
svn r145378 inadvertently changed the destination for the Embedded target
in the makefile. Add a "/Developer" suffix to DSTROOT to compensate.
llvm-svn: 153980
2012-04-03 23:44:39 +00:00
Bob Wilson
3e0c867151
Remove dead code for installing libLTO when building llvmCore.
...
llvm-svn: 153978
2012-04-03 23:13:26 +00:00
Michael J. Spencer
2f9beb2374
Add YAML parser to Support.
...
llvm-svn: 153977
2012-04-03 23:09:22 +00:00