Daniel Dunbar
0a98bc5619
tblgen/AsmMatcher: Always emit the match function as 'MatchInstructionImpl',
...
target specific parsers can adapt the TargetAsmParser to this.
llvm-svn: 110888
2010-08-12 00:55:32 +00:00
Daniel Dunbar
cb6029f089
configure: Add detection of the linker version string.
...
- Review appreciated, as long as you understand that I understand that this is
a horrible hack.
llvm-svn: 110883
2010-08-11 23:53:59 +00:00
Nick Lewycky
90e835b327
Clean up ConstantRange a bit:
...
- remove ashr which never worked.
- fix lshr and shl and add tests.
- remove dead function "intersect1Wrapped".
- add a new sub method to subtract ranges, with test.
llvm-svn: 110861
2010-08-11 22:04:36 +00:00
Dan Gohman
2d7bf8c073
Make LoopPass::getContainedPass return a LoopPass* instead of a Pass*
...
and remove casts from all its callers.
llvm-svn: 110848
2010-08-11 20:34:43 +00:00
Dan Gohman
da120221cb
Remove BasicBlockPass::runOnFunction, which was unused.
...
llvm-svn: 110847
2010-08-11 20:28:16 +00:00
Bruno Cardoso Lopes
3dcdd4b0bf
Remove rsqrt/sqrt_nr intrinsics since there are no more builtins for them on clang
...
llvm-svn: 110845
2010-08-11 19:21:05 +00:00
Dan Gohman
0f3058d723
Delete FunctionPass::run, which is unused.
...
llvm-svn: 110843
2010-08-11 19:11:05 +00:00
Dan Gohman
18a8add4ab
Delete FunctionPass::runOnModule, which is unused.
...
llvm-svn: 110842
2010-08-11 19:05:53 +00:00
Dan Gohman
54027cf446
Don't use unsigned char for alignments in TargetData. There aren't
...
that many of these things, so the memory savings isn't significant,
and there are now situations where there can be alignments greater
than 128.
llvm-svn: 110836
2010-08-11 18:15:01 +00:00
Jakob Stoklund Olesen
ccf528b792
Fix a FIXME. The SlotIndex::Slot enum should be private.
...
llvm-svn: 110826
2010-08-11 16:50:17 +00:00
Daniel Dunbar
4882ffc373
llvm-mc: Add -show-inst-operands, for dumping the parsed instruction representation before matching.
...
llvm-svn: 110791
2010-08-11 06:37:09 +00:00
Daniel Dunbar
ee80a239ed
MCAsmParser: Add dump() hook to MCParsedAsmOperand.
...
llvm-svn: 110790
2010-08-11 06:37:04 +00:00
Bruno Cardoso Lopes
15a98fafc3
Remove AVX 256-bit cast intrinsics now that clang is using __builtin_shufflevector for those
...
llvm-svn: 110772
2010-08-11 02:15:33 +00:00
Bruno Cardoso Lopes
423886f4db
Remove AVX 256-bit unpack and interleave intrinsics now that clang is using __builtin_shufflevector for those
...
llvm-svn: 110769
2010-08-11 01:44:11 +00:00
Bruno Cardoso Lopes
dad2a6a89e
Remove AVX 256-bit shuffle intrinsics now that clang is using __builtin_shufflevector for those
...
llvm-svn: 110767
2010-08-11 01:18:26 +00:00
Rafael Espindola
f345661269
Make it possible to set the cpu used for codegen.
...
llvm-svn: 110759
2010-08-11 00:15:13 +00:00
Oscar Fuentes
32d28f5432
Avoid multiple definition warnings when both config.h and
...
llvm-config.h are included.
This is the cmake counterpart of r110547. See bug #7809 .
llvm-svn: 110753
2010-08-10 23:48:22 +00:00
Dan Gohman
7e49302e9a
Rename and reorder the arguments to isImpliedCond, for consistency and clarity.
...
llvm-svn: 110750
2010-08-10 23:46:30 +00:00
Devang Patel
17606414a4
Add missing argument. CreateCompositeTypeEx() users, please verify.
...
llvm-svn: 110717
2010-08-10 20:22:49 +00:00
Rafael Espindola
c61143ae75
Make it possible to set the flags passed to the assembler.
...
Nick, please review.
llvm-svn: 110705
2010-08-10 18:55:09 +00:00
Jakob Stoklund Olesen
245a1faf76
Implement register class inflation.
...
When splitting a live range, the new registers have fewer uses and the
permissible register class may be less constrained. Recompute the register class
constraint from the uses of new registers created for a split. This may let them
be allocated from a larger set, possibly avoiding a spill.
llvm-svn: 110703
2010-08-10 18:37:40 +00:00
Jakob Stoklund Olesen
e51a747336
Recalculate the spill weight and allocation hint for virtual registers created
...
during live range splitting.
llvm-svn: 110686
2010-08-10 17:07:22 +00:00
Mikhail Glushenkov
ba7b4da6de
Trailing whitespace.
...
llvm-svn: 110679
2010-08-10 14:49:24 +00:00
Bruno Cardoso Lopes
460703a738
Remove replicate intrinsics, clang will generate shufflevector for those. The shuffles can't be matched by x86 codegen yet, but will soon
...
llvm-svn: 110647
2010-08-10 02:25:35 +00:00
Bruno Cardoso Lopes
7afe424c59
Use i32 instead of i8 for dot product intrinsic
...
llvm-svn: 110643
2010-08-10 01:40:05 +00:00
Jakob Stoklund Olesen
1ab2fab3af
Transpose the calculation of spill weights such that we are calculating one
...
register at a time. This turns out to be slightly faster than iterating over
instructions, but more importantly, it allows us to compute spill weights for
new registers created after the spill weight pass has run.
Also compute the allocation hint at the same time as the spill weight. This
allows us to use the spill weight as a cost metric for copies, and choose the
most profitable hint if there is more than one possibility.
The new hints provide a very small (< 0.1%) but universal code size improvement.
llvm-svn: 110631
2010-08-10 00:02:26 +00:00
Bruno Cardoso Lopes
7d73127002
Fix the last argument type of AVX vblend intrinsics
...
llvm-svn: 110628
2010-08-10 00:00:22 +00:00
Bill Wendling
8a7a43a1cb
Merge the OptimizeExts and OptimizeCmps passes into one PeepholeOptimizer
...
pass. This pass should expand with all of the small, fine-grained optimization
passes to reduce compile time and increase happiment.
llvm-svn: 110627
2010-08-09 23:59:04 +00:00
Kevin Enderby
8303a64b0a
Next bit of support for the dwarf .file directive. This patch takes the
...
previously collected info from the .file directives and outputs the encoded
bytes for it. For now this is only in the Mach-O streamer but at some point
will move to a more generic place.
llvm-svn: 110617
2010-08-09 22:52:14 +00:00
Devang Patel
8d0c79694e
Refactor.
...
llvm-svn: 110607
2010-08-09 21:39:24 +00:00
Rafael Espindola
fd90a58cd3
Make it possible to set the target triple and expose that with an option in the
...
gold plugin.
llvm-svn: 110604
2010-08-09 21:09:46 +00:00
Duncan Sands
6eec2f9421
Remove the ValueMap operator=, which was wrong (it did't correct the
...
Map pointers of any contained ValueMapCallbackVH's) and unused.
llvm-svn: 110577
2010-08-09 16:44:56 +00:00
Zhongxing Xu
d955bbe69b
Change the Interval type to signed in ImmutableIntervalMap.h.
...
llvm-svn: 110562
2010-08-09 03:43:39 +00:00
Benjamin Kramer
bf4f7b3665
Remove unused variable.
...
llvm-svn: 110551
2010-08-08 19:54:10 +00:00
Duncan Sands
fa440174ee
Remove the ValueMap copy constructor. It's not used anywhere,
...
and removing it catches the mistake of passing a ValueMap by
copy rather than by reference.
llvm-svn: 110549
2010-08-08 12:57:48 +00:00
Eric Christopher
c788c82027
Add a bit of a hack to avoid multiple defines of variables in
...
config.h and llvm-config.h. This could probably be improved.
llvm-svn: 110547
2010-08-08 09:18:29 +00:00
Bill Wendling
39c49e3e17
Use the "isCompare" machine instruction attribute instead of calling the
...
relatively expensive comparison analyzer on each instruction. Also rename the
comparison analyzer method to something more in line with what it actually does.
This pass is will eventually be folded into the Machine CSE pass.
llvm-svn: 110539
2010-08-08 05:04:59 +00:00
Oscar Fuentes
38ae8f5381
CMake: set configure macro LLVM_PREFIX
...
llvm-svn: 110536
2010-08-08 04:32:21 +00:00
Oscar Fuentes
8a58d72172
CMake: configure header llvm-config.h
...
This is the cmake equivalent of r110532, which fixed bug #7809 .
llvm-svn: 110535
2010-08-08 04:17:18 +00:00
Eric Christopher
33fd5d63b3
Fix PR7809 by creating a header for just llvm variables that can be
...
included in exported interfaces. Update a couple of exported interfaces.
llvm-svn: 110532
2010-08-08 02:44:17 +00:00
Bill Wendling
f4d90d9196
Add back in r109901, which adds a Compare flag to the target instructions. It's
...
useful after all.
llvm-svn: 110531
2010-08-08 01:49:35 +00:00
Benjamin Kramer
a7febd985f
Roll back my last two commits, valgrind complains.
...
llvm-svn: 110518
2010-08-07 13:27:41 +00:00
Benjamin Kramer
bbdbd2be19
A reference to the Timer's name is safe, it outlives the contents of the vector.
...
llvm-svn: 110517
2010-08-07 13:07:57 +00:00
Benjamin Kramer
ffdaca28a5
Shrink PassNameParser's binary size with array_pod_sort.
...
llvm-svn: 110512
2010-08-07 11:45:42 +00:00
Owen Anderson
d17104afda
Remove layering violation.
...
llvm-svn: 110505
2010-08-07 06:01:13 +00:00
Owen Anderson
e59c4411b3
Add an inverse() method to ConstantRange.
...
llvm-svn: 110504
2010-08-07 05:47:46 +00:00
Nick Lewycky
b37e4d1eb2
Fix typo.
...
llvm-svn: 110502
2010-08-07 05:25:29 +00:00
Dan Gohman
0c6a626902
Remove assignPassManager's default arguments. It's really
...
confusing to have different arguments for the same virtual
function at different levels of the class hierarchy.
llvm-svn: 110500
2010-08-07 01:25:32 +00:00
Dan Gohman
48a98809af
More #include cleanups.
...
llvm-svn: 110499
2010-08-07 01:18:18 +00:00
Dan Gohman
caf690af8e
Delete this explicit assignment operator; it's equivalent to
...
the implicit one.
llvm-svn: 110498
2010-08-07 01:17:47 +00:00