Craig Topper
3ec7c2aa84
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
5117ef7453
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
efada2c0b4
Remove 'XXXRegisterClass' from tablegen output. Targets should use '&XXXRegClass' instead.
...
llvm-svn: 155270
2012-04-21 01:49:25 +00:00
Andrew Trick
03eaaf5b12
TableGen'd RegPressure: Added getPressureSetName.
...
llvm-svn: 155234
2012-04-20 20:44:58 +00:00
Bill Wendling
d63dcde113
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
31c2d3fa74
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
9125493efe
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
a37e2295d4
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
8c2beaac8b
Update some internal naming conventions to modern style.
...
llvm-svn: 155142
2012-04-19 17:52:32 +00:00
Daniel Dunbar
58cfaf8684
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
eb63a4df26
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
925a6d08c5
Fix typo.
...
llvm-svn: 155075
2012-04-18 23:46:25 +00:00
Bill Wendling
eb1c2bdc1f
Add a flag to rebranch if we need to.
...
llvm-svn: 155049
2012-04-18 21:38:12 +00:00
Jim Grosbach
efe653f973
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
11983a4f85
tblgen: remove duplicated newlines.
...
llvm-svn: 155038
2012-04-18 19:22:47 +00:00
Jim Grosbach
2bed0f974f
Replace some uses of std:map<std::string,...> with StringMap.
...
llvm-svn: 155037
2012-04-18 19:13:59 +00:00
Jim Grosbach
dba3f5be00
Use SmallVector for the requirements on an InstAlias.
...
llvm-svn: 155034
2012-04-18 19:02:43 +00:00
Jim Grosbach
f4e6708c7a
Tidy up. Formatting.
...
llvm-svn: 155032
2012-04-18 18:56:33 +00:00
Jim Grosbach
9a7f4b76e5
Move a few more warnings to use PrintWarning().
...
llvm-svn: 155027
2012-04-18 18:39:31 +00:00
Jim Grosbach
1752ffbfe5
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
0fda36485e
Formatting.
...
llvm-svn: 155025
2012-04-18 18:39:23 +00:00
Jim Grosbach
40e984074c
Tidy up. Add a '.' at the end of the sentence.
...
llvm-svn: 155024
2012-04-18 18:39:19 +00:00
Jim Grosbach
7670374c06
Clean up warning text. Remove extraneous prefix.
...
llvm-svn: 155015
2012-04-18 18:09:50 +00:00
Jim Grosbach
3ae48a6236
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
a2944116dc
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
37f6dcb3a8
Sanity check error handling for TokenAlias.
...
llvm-svn: 154951
2012-04-17 21:23:52 +00:00
Manuel Klimek
1f8918f69d
Goodbye, JSONParser...
...
llvm-svn: 154930
2012-04-17 17:21:17 +00:00
Bill Wendling
6c4eea4db7
Download and build the compiler-rt project.
...
llvm-svn: 154905
2012-04-17 05:11:51 +00:00
Bill Wendling
e30df5aa29
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
56e6326033
Tidy up. 80 columns.
...
llvm-svn: 154881
2012-04-17 00:01:04 +00:00
Bob Wilson
3b0fda08e6
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
374f19cade
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
b4722bba5f
Remove incorrect comment.
...
llvm-svn: 154533
2012-04-11 21:09:54 +00:00
Jim Grosbach
3263a07d48
Tidy up. Remove hard tab characters.
...
llvm-svn: 154532
2012-04-11 21:02:33 +00:00
Jim Grosbach
dac4a95b35
Tidy up. Whitespace.
...
llvm-svn: 154531
2012-04-11 21:02:30 +00:00
Andrew Trick
972541503f
TableGen's regpressure: emit per-registerclass weight limits.
...
llvm-svn: 154518
2012-04-11 18:16:28 +00:00
Andrew Trick
a5eee987e0
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
b1a92d3b35
Tablegen'd regpressure: emit the weighted pressure limit.
...
llvm-svn: 154477
2012-04-11 04:31:33 +00:00
Andrew Trick
0d94c73c26
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
f8b1a66620
TableGen/reginfo potential bug: typo from previous checkin.
...
llvm-svn: 154452
2012-04-10 23:53:32 +00:00
Andrew Trick
7d52db9864
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
9002c3157f
Use std::includes instead of my own implementation.
...
Jakob's review.
llvm-svn: 154377
2012-04-10 03:12:29 +00:00
Andrew Trick
739a00386e
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
1d7a2c572c
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
3a6e88dcc9
Fix header comment
...
llvm-svn: 154372
2012-04-10 02:25:18 +00:00
Bob Wilson
1864146ab7
Do not include multiple -arch options in CPPFLAGS.
...
llvm-svn: 154070
2012-04-05 00:35:55 +00:00
Craig Topper
34487838bf
Convert assert(false) followed by a return to llvm_unreachable
...
llvm-svn: 153997
2012-04-04 04:55:46 +00:00
Bob Wilson
3e66d73259
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
9d12ffcd71
Remove dead code for installing libLTO when building llvmCore.
...
llvm-svn: 153978
2012-04-03 23:13:26 +00:00
Michael J. Spencer
22120c47a7
Add YAML parser to Support.
...
llvm-svn: 153977
2012-04-03 23:09:22 +00:00