Chris Lattner [Wed, 25 Jun 2008 05:59:28 +0000 (05:59 +0000)]
Fix PR2488, a case where we deleted stack restores too aggressively.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52702
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 25 Jun 2008 01:16:38 +0000 (01:16 +0000)]
Enable two-address remat by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52701
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 25 Jun 2008 01:05:05 +0000 (01:05 +0000)]
Use push_back rather than operator[], which is incorrect in this cases. Unfortunately, this slow the testcase down a little bit,
but only marginally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52700
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 25 Jun 2008 00:10:22 +0000 (00:10 +0000)]
Use present tense when talking about User layout. It is implemented now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52699
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 24 Jun 2008 22:07:07 +0000 (22:07 +0000)]
Append to the ActiveTimers std::vector before looking at the timer instead
of after, so that any reallocation it does doesn't get counted for the pass
being timed. This probably doesn't account for a timing discrepancy I was
looking into, but I'm fixing it anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52693
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 24 Jun 2008 22:03:36 +0000 (22:03 +0000)]
v2f32 is now a valid (MMX) type which breaks this
test (doesn't work for any MMX vector types, it's
not me). Rewritten to use v2i16 which is generic
and going to stay that way; I think that preserves
the point of the test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52692
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 24 Jun 2008 22:01:44 +0000 (22:01 +0000)]
Add v2f32 (MMX) type to X86. Support is primitive:
load,store,call,return,bitcast. This is enough to
make call and return work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52691
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 24 Jun 2008 21:58:29 +0000 (21:58 +0000)]
In ConstantArray::getAsString(), we know the size of the resultant string in advance so we can pre-allocate it and just fill in
the entries. This improves the time for the AsmPrinter on InstructionCombining.cpp from 0.4248s to 0.3370s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52690
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 24 Jun 2008 21:44:59 +0000 (21:44 +0000)]
Use SmallVector instead of std::vector for a minor compile time improvement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52689
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 24 Jun 2008 20:44:42 +0000 (20:44 +0000)]
Revert 52645, the loop unroller changes. It caused a regression in 252.eon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52688
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 24 Jun 2008 18:00:21 +0000 (18:00 +0000)]
Fix a typo in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52687
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 24 Jun 2008 17:49:26 +0000 (17:49 +0000)]
Make Allocate<T>() return a T* instead of a void*. And use
static_cast instead of reinterpret_cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52686
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 24 Jun 2008 17:49:13 +0000 (17:49 +0000)]
Regenerate configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52685
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 24 Jun 2008 17:47:37 +0000 (17:47 +0000)]
Use const_cast instead of a C-style cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52684
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 24 Jun 2008 17:46:48 +0000 (17:46 +0000)]
Correct a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52683
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Jun 2008 17:44:42 +0000 (17:44 +0000)]
Add support for building on solaris, working around namespace
polution problems from system headers. Patch by Nathan Keynes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52682
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 24 Jun 2008 16:40:22 +0000 (16:40 +0000)]
Pass std::string by reference. Thanks Chris!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52678
91177308-0d34-0410-b5e6-
96231b3b80d8
Matthijs Kooijman [Tue, 24 Jun 2008 16:30:26 +0000 (16:30 +0000)]
Commit the new DeadArgElim pass again, this time with the gcc bootstrap failures fixed.
Also add a testcase to reproduce the gcc bootstrap failure in very much reduced form.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52677
91177308-0d34-0410-b5e6-
96231b3b80d8
Matthijs Kooijman [Tue, 24 Jun 2008 13:01:57 +0000 (13:01 +0000)]
Allow the test suite to be checked out into projects/test-suite.
We will keep the old projects/llvm-test working for existing installs.
The changes to configure are made manually, since I lack autoconf-2.6. Someone
might want to run AutoGen.sh to see if that changes anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52675
91177308-0d34-0410-b5e6-
96231b3b80d8
Matthijs Kooijman [Tue, 24 Jun 2008 12:58:31 +0000 (12:58 +0000)]
Update testing documentation with more consistent terminology.
All of LLVM's testing features are now referred to as the "Testing
infrastructure", the DejaGNU tests are just that, and the whole program tests
are referred to as the "test suite".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52674
91177308-0d34-0410-b5e6-
96231b3b80d8
Matthijs Kooijman [Tue, 24 Jun 2008 09:14:10 +0000 (09:14 +0000)]
Rename a few variables to be more consistent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52672
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 24 Jun 2008 07:10:51 +0000 (07:10 +0000)]
If it's determined safe, remat MOV32r0 (i.e. xor r, r) and others as it is instead of using the longer MOV32ri instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52670
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 24 Jun 2008 01:17:52 +0000 (01:17 +0000)]
Fix some signed vs. unsigned issues in array and vector handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52664
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 24 Jun 2008 00:53:07 +0000 (00:53 +0000)]
Add a note about a potential PIC optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52663
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 24 Jun 2008 00:50:01 +0000 (00:50 +0000)]
Fixes for being compiled PIC on Linux. This isn't the most
general solution possible, but it's a fairly simple one.
Based on a patch from the OpenGTL project!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52662
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 24 Jun 2008 00:15:10 +0000 (00:15 +0000)]
Remove an incorrect comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52660
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 24 Jun 2008 00:08:35 +0000 (00:08 +0000)]
Use InstrSlots::NUM rather than pre-dividing by four. Also, mark this const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52659
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 24 Jun 2008 00:02:44 +0000 (00:02 +0000)]
Comment fixes, and make Schedule() pure virtual.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52658
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 23:51:16 +0000 (23:51 +0000)]
A brief survey of priority_queue usage in the tree turned this up
as a questionable case, but the code isn't actually needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52657
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 23:47:46 +0000 (23:47 +0000)]
Add a clear() method to PriorityQueue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52656
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 23 Jun 2008 23:41:14 +0000 (23:41 +0000)]
This situation can occur:
,------.
| |
| v
| t2 = phi ... t1 ...
| |
| v
| t1 = ...
| ... = ... t1 ...
| |
`------'
where there is a use in a PHI node that's a predecessor to the defining
block. We don't want to mark all predecessors as having the value "alive" in
this case. Also, the assert was too restrictive and didn't handle this case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52655
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 23:40:09 +0000 (23:40 +0000)]
Use the new PriorityQueue in ScheduleDAGList too, which also
needs arbitrary-element removal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52654
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 23 Jun 2008 23:25:37 +0000 (23:25 +0000)]
Add getScaledIntervalSize, which gives a measure of the size of an interval that is independent of the scaling of
the function due to empty index slots. This is suitable for use in backend heuristics that need to reason about the density
of an interval.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52652
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 23:23:49 +0000 (23:23 +0000)]
Use use_empty() instead of getNumUses(), avoiding a use list traversal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52651
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 23 Jun 2008 22:12:23 +0000 (22:12 +0000)]
Use getMBBEndIdx rather than assuming that the end is right after the last instruction in the block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52649
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 22:11:52 +0000 (22:11 +0000)]
Fix spelling and grammar in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52648
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 23 Jun 2008 22:08:30 +0000 (22:08 +0000)]
Extract the x86_64 part for the executables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52647
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 21:46:21 +0000 (21:46 +0000)]
Simplify erase_one slightly. It's not necessary to preserve
the value of the element to be erased while the heap is
being updated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52646
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 21:29:41 +0000 (21:29 +0000)]
Revamp the loop unroller, extending it to correctly update PHI nodes
in the presence of out-of-loop users of in-loop values and the trip
count is not a known multiple of the unroll count, and to be a bit
simpler overall. This fixes PR2253.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52645
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 23 Jun 2008 21:24:32 +0000 (21:24 +0000)]
Remove option used to debug stack coloring bugs. It's no longer needed since stack coloring is now bug free.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52644
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 23 Jun 2008 21:22:35 +0000 (21:22 +0000)]
Disable PRE. It's breaking bootstrapping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52643
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 21:15:00 +0000 (21:15 +0000)]
Move a DenseMap's declaration outside of a loop, and just call
clear() on each iteration. This avoids allocating and deallocating
all of DenseMap's memory on each iteration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52642
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 21:08:32 +0000 (21:08 +0000)]
Use StringMap instead of std::map<std::string, SDNode*>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52641
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 21:07:03 +0000 (21:07 +0000)]
Add methods to StringMap to erase entries by key.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52640
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 23 Jun 2008 21:03:19 +0000 (21:03 +0000)]
Instead of adding an isSS field to LiveInterval to denote stack slot. Use top bit of 'reg' instead. If the top bit is set, than the LiveInterval represents a stack slot live interval.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52639
91177308-0d34-0410-b5e6-
96231b3b80d8
Wojciech Matyjewicz [Mon, 23 Jun 2008 19:39:50 +0000 (19:39 +0000)]
First step to fix PR2088. Implement routine to compute the
multiplicative inverse of a given number. Modify udivrem to allow input and
output pairs of arguments to overlap. Patch is based on the work by Chandler
Carruth.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52638
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 18:43:26 +0000 (18:43 +0000)]
Update the .cvs files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52637
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 18:40:28 +0000 (18:40 +0000)]
Fix the types for NumElements variables, and add a comment
explaining why empty array constants use ValID::createUndef().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52636
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 23 Jun 2008 17:49:45 +0000 (17:49 +0000)]
Tighten the conditions under which we do PRE, remove some unneeded code, and correct our preserved analyses list, since we
do now change the CFG by splitting critical edges during PRE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52631
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 23 Jun 2008 17:11:23 +0000 (17:11 +0000)]
minor tidying of comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52630
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 16:48:17 +0000 (16:48 +0000)]
Remove two convenience constructors because they're now private, and the
private implementation doesn't really need the convenience.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52629
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 16:45:24 +0000 (16:45 +0000)]
Use std::copy instead of a loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52628
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 16:39:44 +0000 (16:39 +0000)]
More changes from Chris' review: simplify getIndices and avoid
copying its return value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52627
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 16:38:10 +0000 (16:38 +0000)]
Remove an unnecessary cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52626
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 15:29:14 +0000 (15:29 +0000)]
Duncan pointed out this code could be tidied.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52624
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 23 Jun 2008 15:26:37 +0000 (15:26 +0000)]
Fix the syntax of insertvalue in the example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52623
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 23 Jun 2008 15:15:44 +0000 (15:15 +0000)]
Port some integer multiplication fixes from LegalizeDAG.
Bail out with an error if there is no libcall available
for the given size of integer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52622
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 23 Jun 2008 15:08:15 +0000 (15:08 +0000)]
Support for expanding the result of EXTRACT_ELEMENT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52621
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 23 Jun 2008 14:19:45 +0000 (14:19 +0000)]
Cleanup up LegalizeTypes handling of loads and
stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52620
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 23 Jun 2008 06:16:31 +0000 (06:16 +0000)]
Make test work on non-x86 machines (like my G4 PPC).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52619
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 23 Jun 2008 06:13:12 +0000 (06:13 +0000)]
At Chris' suggestion, move the liveness and worklist datastructures into
instance variables so they can be allocated just once, and reuse the worklist
as the dead list as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52618
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sun, 22 Jun 2008 20:44:02 +0000 (20:44 +0000)]
Improve LSR's dead-phi detection to handle use-def cycles
with more than two nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52617
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sun, 22 Jun 2008 20:18:58 +0000 (20:18 +0000)]
Use Loop::block_iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52616
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sun, 22 Jun 2008 19:56:46 +0000 (19:56 +0000)]
Generalize createSCEV to be able to form SCEV expressions from
ConstantExprs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52615
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sun, 22 Jun 2008 19:23:09 +0000 (19:23 +0000)]
Use SCEVAddRecExpr::isAffine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52614
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sun, 22 Jun 2008 19:21:26 +0000 (19:21 +0000)]
Remove unnecessary #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52613
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sun, 22 Jun 2008 19:09:18 +0000 (19:09 +0000)]
Move a few more SCEVExpander methods out-of-line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52612
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 22 Jun 2008 17:46:21 +0000 (17:46 +0000)]
Fix PR2369 by making scalarrepl more careful about promoting
structures. Its default threshold is to promote things that are
smaller than 128 bytes, which is sane. However, it is not sane
to do this for things that turn into 128 *registers*. Add a cap
on the number of registers introduced, defaulting to 128/4=32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52611
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sun, 22 Jun 2008 09:42:16 +0000 (09:42 +0000)]
Make custom lowering of ADD work correctly. This
fixes PR2476; patch by Richard Osborne. The same
problem exists for a bunch of other operators, but
I'm ignoring this because they will be automagically
fixed when the new LegalizeTypes infrastructure lands,
since it already solves this problem centrally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52610
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 21 Jun 2008 23:36:13 +0000 (23:36 +0000)]
Fix for PR2479: correctly optimize expressions like (a > 13) & (a ==
15).
See also PR1800, which is about the signed case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52608
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 22:08:46 +0000 (22:08 +0000)]
Use Instruction::eraseFromParent().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52606
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 22:06:54 +0000 (22:06 +0000)]
Use Function's arg_size() and size() methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52605
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 22:06:07 +0000 (22:06 +0000)]
Simplify some getNode calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52604
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 22:05:24 +0000 (22:05 +0000)]
canClobberPhysRegDefs shouldn't called without checking hasPhysRegDefs;
check this with an assert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52603
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 22:03:12 +0000 (22:03 +0000)]
Avoid creating a redundant zero APInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52602
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 22:02:15 +0000 (22:02 +0000)]
Use clear() to zero an existing APInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52601
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 22:00:54 +0000 (22:00 +0000)]
Use back() instead of [size()-1].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52600
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 21 Jun 2008 20:26:50 +0000 (20:26 +0000)]
This file is empty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52596
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 21 Jun 2008 20:22:58 +0000 (20:22 +0000)]
Turn off llvm-gcc warnings when running "make check".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52595
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 20:21:19 +0000 (20:21 +0000)]
Use MachineBasicBlock::transferSuccessors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52594
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 20:17:03 +0000 (20:17 +0000)]
Use static_cast instead of reinterpret_cast for casting void*.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52592
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 21 Jun 2008 19:49:01 +0000 (19:49 +0000)]
Fix warning when assertions disabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52590
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 21 Jun 2008 19:48:22 +0000 (19:48 +0000)]
fix warning when assertions disabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52589
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 21 Jun 2008 19:47:44 +0000 (19:47 +0000)]
fix warning when assertion disabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52588
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 21 Jun 2008 19:47:03 +0000 (19:47 +0000)]
fix some warnings when assertions are disabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52587
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 19:34:57 +0000 (19:34 +0000)]
Remove a redundant return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52585
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 19:26:15 +0000 (19:26 +0000)]
Reorder some fields in SDNode. This avoids padding,
reducings its size from 80 to 72 on 64-bit hosts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52584
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 19:18:17 +0000 (19:18 +0000)]
Remove ScheduleDAG's SUnitMap altogether. Instead, use SDNode's NodeId
field, which is otherwise unused after instruction selection, as an index
into the SUnit array.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52583
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 18:35:25 +0000 (18:35 +0000)]
Add a priority queue class, which is a wrapper around std::priority_queue
and provides fairly efficient removal of arbitrary elements. Switch
ScheduleDAGRRList from std::set to this new priority queue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52582
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 21 Jun 2008 17:00:47 +0000 (17:00 +0000)]
Support for load/store of expanded float types. I
don't know if a truncating store is possible here,
but added support for it anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52577
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 15:52:51 +0000 (15:52 +0000)]
Change ScheduleDAG's SUnitMap from DenseMap<SDNode*, vector<SUnit*> >
to DenseMap<SDNode*, SUnit*>, and adjust the way cloned SUnit nodes are
handled so that only the original node needs to be in the map.
This speeds up llc on 447.dealII.llvm.bc by about 2%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52576
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 21 Jun 2008 07:26:53 +0000 (07:26 +0000)]
Enable PRE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52574
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 21 Jun 2008 06:45:54 +0000 (06:45 +0000)]
Undo spill weight tweak. Need to investigate the performance regressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52572
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 21 Jun 2008 01:08:22 +0000 (01:08 +0000)]
Simplify some template parameterization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52571
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 21 Jun 2008 00:31:44 +0000 (00:31 +0000)]
Back out Matthijs' DAE patches. It's miscompiling gcc driver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52570
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Jun 2008 22:19:12 +0000 (22:19 +0000)]
Updated VS build system. Patch provided by Cedric Venet:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2008-June/015446.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52564
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 20 Jun 2008 21:45:16 +0000 (21:45 +0000)]
Enhanced heuristic to determine the *best* register to spill. Instead of picking the register with the lowest spill weight. Consider (up to) 2 additional registers with spill weights that are close to the lowest spill weight. The one with fewest defs and uses that conflicts with the current interval (weighted by loop depth) is the spill candidate.
This is not always a win, but there are much more wins than loses and wins tend to be more noticeable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52554
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Jun 2008 20:50:48 +0000 (20:50 +0000)]
integer types are not primitive, they are derived.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52551
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 20 Jun 2008 20:05:57 +0000 (20:05 +0000)]
llvmc doesn't exist anymore, and llvmc2 doesn't have a special license file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52550
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 20 Jun 2008 20:05:17 +0000 (20:05 +0000)]
Remove empty directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52549
91177308-0d34-0410-b5e6-
96231b3b80d8