Evan Cheng
d2b8d7bc51
- Added removeValNo() to remove all live ranges of a particular value#.
...
- removeRange() can now update value# information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47044 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-13 02:48:26 +00:00
Evan Cheng
a4d16a1f0d
commuteInstr() can now commute non-ssa machine instrs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47043 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-13 02:46:49 +00:00
Evan Cheng
1eb5cf9c7d
Added debugging routine dumpUses.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47042 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-13 02:45:38 +00:00
Dan Gohman
fd29e0eb06
Convert SelectionDAG::ComputeMaskedBits to use APInt instead of uint64_t.
...
Add an overload that supports the uint64_t interface for use by clients
that haven't been updated yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47039 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-13 00:35:47 +00:00
Dale Johannesen
3006c39e3a
__DATA not __DATA__ is the right segment name on darwin.
...
Spotted by Nick Kledzik.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47037 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 23:35:09 +00:00
Nate Begeman
bf1caa9854
Remove some dead code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47036 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 22:54:40 +00:00
Nate Begeman
cdd1eeca2c
SSE4.1 64b integer insert/extract pattern support
...
Move formats into the formats file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47035 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 22:51:28 +00:00
Dan Gohman
ffe3e2514a
Change APInt::getBitsSet to accept a "half-open" range, where the
...
hiBit parameter marks the index one past the last desired set bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47032 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 21:47:33 +00:00
Duncan Sands
caf4fbd5df
Note that these instructions are for x86-32 linux
...
(the only platform on which the Ada compiler even
builds).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47031 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 21:40:21 +00:00
Duncan Sands
15bfd89b99
Add more spacing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47028 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 21:28:39 +00:00
Duncan Sands
d051f7a13d
Add instructions for building Ada and Fortran.
...
Adjust mentions of gcc4 to be 4.0/4.2 agnostic.
This file should probably be renamed tor
GCCFEBuildInstrs.html...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47027 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 21:22:58 +00:00
Owen Anderson
30b4bd4d10
Re-apply the patch to improve the optimizations of memcpy's, with several
...
bugs fixed. This now passes PPC bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47026 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 21:15:18 +00:00
Duncan Sands
014e04a5da
Generalize getCopyFromParts and getCopyToParts to
...
handle arbitrary precision integers and any number
of parts. For example, on a 32 bit machine an i50
corresponds to two i32 parts. getCopyToParts will
extend the i50 to an i64 then write half of the i64
to each part; getCopyFromParts will combine the two
i32 parts into an i64 then truncate the result to
i50.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47024 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 20:46:31 +00:00
Evan Cheng
394d28048c
Revert r46916 PPCTargetAsmInfo.cpp.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47020 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 19:25:12 +00:00
Evan Cheng
9f143ce989
Only using x86-64 rip relative addressing in non-staic mode?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47019 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 19:20:46 +00:00
Evan Cheng
073c5b721d
Don't mask the isel bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47018 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 19:11:29 +00:00
Evan Cheng
aeb231cb59
This test assumes no SSE4.1.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47017 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 19:11:08 +00:00
Dan Gohman
14471be9ab
Add a doxygen comment for SrcValueSDNode, to make its purpose
...
clear and to clarify how it differs from MemOperandSDNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47015 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 18:52:52 +00:00
Devang Patel
2be680481b
Remove dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47012 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 18:20:50 +00:00
Wojciech Matyjewicz
52f321f525
Now that ScalarEvolution::print writes to the correct stream, there is
...
no need to redirect stderr into stdout.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47009 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 15:12:40 +00:00
Wojciech Matyjewicz
2a9054cfd6
Change negative grep into positive one in my yesterday's testcase.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47008 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 15:10:35 +00:00
Wojciech Matyjewicz
7b5b76835a
Fix PR2002. Suppose n is the initial value for the induction
...
variable (with step 1) and m is its final value. Then, the correct trip
count is SMAX(m,n)-n. Previously, we used SMAX(0,m-n), but m-n may
overflow and can't in general be interpreted as signed.
Patch by Nick Lewycky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47007 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 15:09:36 +00:00
Eli Friedman
b6c36e4058
Fix for bug 1996: optimize out loads of undef. This code basically just
...
checks for a malloc/alloca immediately followed by a load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47006 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 12:08:14 +00:00
Evan Cheng
add251754c
Update comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47002 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 07:59:55 +00:00
Evan Cheng
5ae45caf79
Unbreak various insert_vector_elt and extract_vector_elt tests in presence of SSE4.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47001 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 07:59:45 +00:00
Tanya Lattner
3c593c947c
Test case for annotate builtin.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46999 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 07:46:33 +00:00
Evan Cheng
65b2e3df0d
Fix some test cases.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46998 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 07:22:46 +00:00
Bill Wendling
0602df7403
More violation fixes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46997 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 07:12:46 +00:00
Bill Wendling
58d96d6e3c
Fix validation errors: di -> dt.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46996 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 07:09:05 +00:00
Bill Wendling
643eb5d7ba
Reformatting. Adding "doc_code" divisions for code examples. Updated some
...
of the examples to reflect the current .TD files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46995 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 07:06:19 +00:00
Chris Lattner
2b659ef4bd
rip out llvm 2.2 stuff in preparation for llvm 2.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46993 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 06:29:45 +00:00
Chris Lattner
18232a5fd1
heavily refactor this to have less duplication between BUILD_FOR_WEBSITE mode and not.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46991 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 06:07:47 +00:00
Chris Lattner
02b81fe5f5
remove unknown details
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46985 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 05:07:12 +00:00
Tanya Lattner
dd50f0f954
Add 2.2 release tag.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46981 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12 02:42:55 +00:00
Nate Begeman
5bb013c34a
Stuff noticed while grepping code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46979 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 23:47:56 +00:00
Dan Gohman
d3993d13be
Correct the order of the arguments in the examples in the comments
...
for APInt::getBitsSet. And fix an off-by-one bug in "wrapping" mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46978 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 23:45:14 +00:00
Ted Kremenek
a618f82c9f
The factories for ImutAVLTree/ImmutableSet/ImmutableMap now take an (optional)
...
BumpPtrAllocator argument to their constructors. This BumpPtrAllocator
will be used to allocate trees. If no BumpPtrAllocator is provided, one
is created (as before).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46975 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 23:11:12 +00:00
Scott Michel
8c77ff9f85
Added blurb for CellSPU progress
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46968 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 21:05:47 +00:00
Duncan Sands
b988baccc2
Generalize the handling of call and return arguments,
...
in preparation for apint support. These changes are
intended to have no functional effect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46967 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 20:58:28 +00:00
Dan Gohman
cc20cd59e6
From Chris' review: use isa instead of explicitly using classof.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46964 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 19:00:34 +00:00
Dan Gohman
027ee7e3ca
From Chris' review: minor corrections in comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46963 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 19:00:03 +00:00
Dan Gohman
bbbbb9c3dd
From Chris' review: use cast instead of dyn_cast with an assert.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46962 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 18:58:42 +00:00
Dan Gohman
debeeba6ec
From Chris' review: fix 80 column violations
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46961 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 18:57:43 +00:00
Dan Gohman
f8df0ff9a5
From Chris' review: change MemOperandSDNode's constructor to pass its
...
argument by reference, rather than by value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46960 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 18:56:50 +00:00
Wojciech Matyjewicz
a089b10421
If the LHS of the comparison is a loop-invariant we also want to move it
...
to the RHS. This simple change allows to compute loop iteration count
for loops with condition similar to the one in the testcase (which seems
to be quite common).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46959 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 18:37:34 +00:00
Ted Kremenek
1f801fa5ad
Added "Profile" method to APFloat for use with FoldingSet.
...
Added member template "Add" to FoldingSetNodeID that allows "adding" arbitrary
objects to a profile via dispatch to FoldingSetTrait<T>::Profile().
Removed FoldingSetNodeID::AddAPFloat and FoldingSetNodeID::APInt, as their
functionality is now replaced using the above mentioned member template.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46957 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 17:24:50 +00:00
Duncan Sands
04feb51886
Add arbitrary integer support to getRegisterType and
...
getNumRegisters. This is needed for calling functions
with apint parameters or return values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46956 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 11:09:23 +00:00
Wojciech Matyjewicz
e3320a1bcc
Fix PR1798 - an error in the evaluation of SCEVAddRecExpr at an
...
arbitrary iteration.
The patch:
1) changes SCEVSDivExpr into SCEVUDivExpr,
2) replaces PartialFact() function with BinomialCoefficient(); the
computations (essentially, the division) in BinomialCoefficient() are
performed with the apprioprate bitwidth necessary to avoid overflow;
unsigned division is used instead of the signed one.
Computations in BinomialCoefficient() require support from the code
generator for APInts. Currently, we use a hack rounding up the
neccessary bitwidth to the nearest power of 2. The hack is easy to turn
off in future.
One remaining issue: we assume the divisor of the binomial coefficient
formula can be computed accurately using 16 bits. It means we can handle
AddRecs of length up to 9. In future, we should use APInts to evaluate
the divisor.
Thanks to Nicholas for cooperation!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46955 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 11:03:14 +00:00
Duncan Sands
0753fc1850
Add a isBigEndian method to complement isLittleEndian.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46954 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 10:37:04 +00:00
Evan Cheng
431bfcbe37
Determine whether a spill kills the register it's spilling before insertion rather than trying to undo the kill marker afterwards.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46953 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 08:30:52 +00:00