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
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
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
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
Dan Gohman
a581d6d202
Tidy up PMStack. Add a bunch of consts, use std::vector instead of
...
std::deque, since this is a stack and only supports push/pop on
one end, and remove an unimplemented declaration.
llvm-svn: 110495
2010-08-07 00:53:01 +00:00
Dan Gohman
1d48a4b1d7
Tidy some #includes and forward-declarations, and move the C binding code
...
out of PassManager.cpp and into Core.cpp with the rest of the C binding code.
llvm-svn: 110494
2010-08-07 00:43:20 +00:00
Owen Anderson
31ced50119
Add a convenience constructor.
...
llvm-svn: 110493
2010-08-07 00:42:06 +00:00
Dan Gohman
1637747481
Make AnalysisImpls private.
...
llvm-svn: 110492
2010-08-07 00:34:52 +00:00
Owen Anderson
c61b8d0eb2
Add a predicate to determine if a call is an inline asm statement.
...
llvm-svn: 110488
2010-08-07 00:19:59 +00:00
Rafael Espindola
2145c31de3
Some cleanup. Use a class (OptionInfo) instead of a pair of a pair and remove
...
some default values that are not used.
llvm-svn: 110485
2010-08-06 23:03:52 +00:00
Bruno Cardoso Lopes
5b602f8822
Patterns to match AVX 256-bit vzero intrinsics
...
llvm-svn: 110480
2010-08-06 22:10:01 +00:00
Dan Gohman
13c66ce161
Eliminate PromoteMemoryToRegisterID; just use addPreserved("mem2reg")
...
instead, as an example of what this looks like.
llvm-svn: 110478
2010-08-06 21:48:06 +00:00
Jim Grosbach
e4f646b03f
tidy up
...
llvm-svn: 110476
2010-08-06 21:31:35 +00:00
Daniel Dunbar
49c592cd1b
MC: Add default value for AddrSpace argument to EmitValue.
...
llvm-svn: 110475
2010-08-06 21:24:05 +00:00
Jakob Stoklund Olesen
a37c7509bf
Add LiveInterval::RenumberValues - Garbage collection for VNInfos.
...
After heavy editing of a live interval, it is much easier to simply renumber the
live values instead of trying to keep track of the unused ones.
llvm-svn: 110463
2010-08-06 18:46:59 +00:00
Owen Anderson
f2fea95f2f
Reapply r110396, with fixes to appease the Linux buildbot gods.
...
llvm-svn: 110460
2010-08-06 18:33:48 +00:00
Dan Gohman
da3f592fb3
Implement a proper getModRefInfo for va_arg.
...
llvm-svn: 110458
2010-08-06 18:24:38 +00:00