oota-llvm.git
15 years agoTeach BasicAA::getModRefInfo(CallSite, CallSite) some
Chris Lattner [Tue, 9 Dec 2008 21:19:42 +0000 (21:19 +0000)]
Teach BasicAA::getModRefInfo(CallSite, CallSite)  some
tricks based on readnone/readonly functions.

Teach memdep to look past readonly calls when analyzing
deps for a readonly call.  This allows elimination of a
few more calls from 403.gcc:

before:
     63 gvn    - Number of instructions PRE'd
 153986 gvn    - Number of instructions deleted
  50069 gvn    - Number of loads deleted

after:
     63 gvn    - Number of instructions PRE'd
 153991 gvn    - Number of instructions deleted
  50069 gvn    - Number of loads deleted

5 calls isn't much, but this adds plumbing for the next change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60794 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a fixme: allow memdep to see past read-only calls when doing
Chris Lattner [Tue, 9 Dec 2008 19:47:40 +0000 (19:47 +0000)]
Fix a fixme: allow memdep to see past read-only calls when doing
load dependence queries.  This allows GVN to eliminate a few more
instructions on 403.gcc:

 152598 gvn    - Number of instructions deleted
  49240 gvn    - Number of loads deleted
after:
 153986 gvn    - Number of instructions deleted
  50069 gvn    - Number of loads deleted

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60786 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agorename getNonLocalDependency -> getNonLocalCallDependency, and remove
Chris Lattner [Tue, 9 Dec 2008 19:38:05 +0000 (19:38 +0000)]
rename getNonLocalDependency -> getNonLocalCallDependency, and remove
pointer stuff from it, simplifying the code a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60783 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSwitch GVN::processNonLocalLoad to using the new
Chris Lattner [Tue, 9 Dec 2008 19:25:07 +0000 (19:25 +0000)]
Switch GVN::processNonLocalLoad to using the new
MemDep::getNonLocalPointerDependency method.  There are
some open issues with this (missed optimizations) and
plenty of future work, but this does allow GVN to eliminate
*slightly* more loads (49246 vs 49033).

Switching over now allows simplification of the other code
path in memdep.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60780 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agorandom cleanups, no functionality change.
Chris Lattner [Tue, 9 Dec 2008 19:21:47 +0000 (19:21 +0000)]
random cleanups, no functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60779 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoxfail this for now.
Evan Cheng [Tue, 9 Dec 2008 18:43:00 +0000 (18:43 +0000)]
xfail this for now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60777 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoBack out 60748 for now. It's breaking SPASS, 254.gap, and 464.h264ref.
Evan Cheng [Tue, 9 Dec 2008 18:21:49 +0000 (18:21 +0000)]
Back out 60748 for now. It's breaking SPASS, 254.gap, and 464.h264ref.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60776 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCosmetic changes.
Evan Cheng [Tue, 9 Dec 2008 17:56:30 +0000 (17:56 +0000)]
Cosmetic changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60771 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove unused var
Nuno Lopes [Tue, 9 Dec 2008 17:04:06 +0000 (17:04 +0000)]
remove unused var

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60770 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWhitespace cleanups.
Dan Gohman [Tue, 9 Dec 2008 16:37:48 +0000 (16:37 +0000)]
Whitespace cleanups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60769 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove Clang tests since clang is not installed on the buildbots.
Mikhail Glushenkov [Tue, 9 Dec 2008 15:11:45 +0000 (15:11 +0000)]
Remove Clang tests since clang is not installed on the buildbots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60767 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd some rudimentary tests for .
Mikhail Glushenkov [Tue, 9 Dec 2008 14:41:27 +0000 (14:41 +0000)]
Add some rudimentary tests for .

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60766 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMan page typo fix.
Mikhail Glushenkov [Tue, 9 Dec 2008 14:41:00 +0000 (14:41 +0000)]
Man page typo fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60765 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSupport -emit-llvm properly (with -S and -c).
Mikhail Glushenkov [Tue, 9 Dec 2008 14:40:18 +0000 (14:40 +0000)]
Support -emit-llvm properly (with -S and -c).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60764 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoHandle a compiler warning.
Duncan Sands [Tue, 9 Dec 2008 09:58:11 +0000 (09:58 +0000)]
Handle a compiler warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60755 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix typos gabor noticed
Chris Lattner [Tue, 9 Dec 2008 08:38:36 +0000 (08:38 +0000)]
fix typos gabor noticed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60754 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCorrect my English.
Bill Wendling [Tue, 9 Dec 2008 07:55:31 +0000 (07:55 +0000)]
Correct my English.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60753 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agorestructure the top level non-local ptr dep query to handle
Chris Lattner [Tue, 9 Dec 2008 07:52:59 +0000 (07:52 +0000)]
restructure the top level non-local ptr dep query to handle
the first block of a query specially.  This makes the "complete query
caching" subsystem more effective, avoiding predecessor queries.  This
speeds up GVN another 4%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60752 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agorename getNonLocalPointerDepInternal -> getNonLocalPointerDepFromBB
Chris Lattner [Tue, 9 Dec 2008 07:47:11 +0000 (07:47 +0000)]
rename getNonLocalPointerDepInternal -> getNonLocalPointerDepFromBB
and split its inner loop out into a new GetNonLocalInfoForBlock
function.  No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60751 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDisableGVCompilation should not abort on internal GlobalValue's.
Evan Cheng [Tue, 9 Dec 2008 07:31:49 +0000 (07:31 +0000)]
DisableGVCompilation should not abort on internal GlobalValue's.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60750 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIn LegalizeOp, don't change the result type of CONVERT_RNDSAT when promoting
Mon P Wang [Tue, 9 Dec 2008 07:27:39 +0000 (07:27 +0000)]
In LegalizeOp, don't change the result type of CONVERT_RNDSAT when promoting
one of its operand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60749 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIt's easy to handle SLE/SGE when the loop has a unit stride.
Nick Lewycky [Tue, 9 Dec 2008 07:25:04 +0000 (07:25 +0000)]
It's easy to handle SLE/SGE when the loop has a unit stride.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60748 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoif we have two elements, insert both, don't use std::sort.
Chris Lattner [Tue, 9 Dec 2008 07:05:45 +0000 (07:05 +0000)]
if we have two elements, insert both, don't use std::sort.
This speeds up the new GVN by another 3%

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60747 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIf we're only adding one new element to 'Cache', insert it into its known
Chris Lattner [Tue, 9 Dec 2008 06:58:04 +0000 (06:58 +0000)]
If we're only adding one new element to 'Cache', insert it into its known
position instead of using a full sort. This speeds up GVN by ~4% with the
new memdep stuff.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60746 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoconvert a couple other places that use pred_iterator to use the caching
Chris Lattner [Tue, 9 Dec 2008 06:44:17 +0000 (06:44 +0000)]
convert a couple other places that use pred_iterator to use the caching
pred iterator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60745 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agonewline at end of phile
Chris Lattner [Tue, 9 Dec 2008 06:32:32 +0000 (06:32 +0000)]
newline at end of phile

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60744 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agouse hte new pred cache to speed up the new non-local memdep
Chris Lattner [Tue, 9 Dec 2008 06:28:49 +0000 (06:28 +0000)]
use hte new pred cache to speed up the new non-local memdep
queries.  This speeds up GVN using the new queries (not yet
checked in) by just over 10%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60743 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agopred_iterator got a lot slower since use-diet landed. This is a
Chris Lattner [Tue, 9 Dec 2008 06:27:07 +0000 (06:27 +0000)]
pred_iterator got a lot slower since use-diet landed.  This is a
really simple cache class for these queries.  Hopefully this can
be removed if pred_iterator speeds back up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60742 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCellSPU:
Scott Michel [Tue, 9 Dec 2008 06:12:03 +0000 (06:12 +0000)]
CellSPU:
- Fix call.ll and call_indirect.ll expected results, now that it's using a
  different pre-register allocation scheduler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60741 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix getNode to allow a vector for the shift amount for shifts of vectors.
Mon P Wang [Tue, 9 Dec 2008 05:46:39 +0000 (05:46 +0000)]
Fix getNode to allow a vector for the shift amount for shifts of vectors.
Fix the shift amount when unrolling a vector shift into scalar shifts.
Fix problem in getShuffleScalarElt where it assumes that the input of
a bit convert must be a vector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60740 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a really subtle off-by-one bug that Duncan noticed with valgrind
Chris Lattner [Tue, 9 Dec 2008 04:47:21 +0000 (04:47 +0000)]
Fix a really subtle off-by-one bug that Duncan noticed with valgrind
on test/CodeGen/Generic/2007-06-06-CriticalEdgeLandingPad.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60739 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCellSPU:
Scott Michel [Tue, 9 Dec 2008 03:37:19 +0000 (03:37 +0000)]
CellSPU:
- Change default scheduling preference to list-burr, which produces somewhat
  better code than the default. Could also use list-tdrr, but need to ask
  dev list about the appropriate handy mnemonic before commiting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60738 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd initial support for fast-isel of the [SU]ADDO intrinsics. It isn't
Bill Wendling [Tue, 9 Dec 2008 02:42:50 +0000 (02:42 +0000)]
Add initial support for fast-isel of the [SU]ADDO intrinsics. It isn't
complete. For instance, it lowers the common case into this less-than-optimal
code:

        addl    %ecx, %eax
        seto    %cl
        testb   %cl, %cl
        jne     LBB1_2  ## overflow

instead of:

        addl    %ecx, %eax
        jo      LBB1_2  ## overflow

That will come in a future commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60737 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix the name of ISD::TokenFactor in a comment. Thanks Gabor!
Dan Gohman [Tue, 9 Dec 2008 02:18:52 +0000 (02:18 +0000)]
Fix the name of ISD::TokenFactor in a comment. Thanks Gabor!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60736 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove two unneeded forward declarations, pointed out by Gabor.
Chris Lattner [Tue, 9 Dec 2008 02:10:10 +0000 (02:10 +0000)]
remove two unneeded forward declarations, pointed out by Gabor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60735 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't charge full latency for an anti-dependence, in this simplistic
Dan Gohman [Tue, 9 Dec 2008 00:26:46 +0000 (00:26 +0000)]
Don't charge full latency for an anti-dependence, in this simplistic
pipeline model.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60733 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a couple of mistaken switch case fall-throughs. Thanks to Bill
Dan Gohman [Mon, 8 Dec 2008 23:50:06 +0000 (23:50 +0000)]
Fix a couple of mistaken switch case fall-throughs. Thanks to Bill
for spotting these!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60728 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoActually test something. Use PR3170 test case.
Devang Patel [Mon, 8 Dec 2008 23:44:46 +0000 (23:44 +0000)]
Actually test something. Use PR3170 test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60727 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove DebugIterations option. Despite the accusations,
Chris Lattner [Mon, 8 Dec 2008 22:44:07 +0000 (22:44 +0000)]
remove DebugIterations option.  Despite the accusations,
jump threading has been shown to only expose problems not
have bugs itself.  I'm sure it's completely bug free! ;-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60725 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRe-apply 60689 now my head is screwed on right.
Evan Cheng [Mon, 8 Dec 2008 19:29:03 +0000 (19:29 +0000)]
Re-apply 60689 now my head is screwed on right.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60711 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix the top-level comments, and fix some 80-column violations.
Dan Gohman [Mon, 8 Dec 2008 17:50:35 +0000 (17:50 +0000)]
Fix the top-level comments, and fix some 80-column violations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60707 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMove the conversion to intptr_t to a separate statement. This
Dan Gohman [Mon, 8 Dec 2008 17:41:24 +0000 (17:41 +0000)]
Move the conversion to intptr_t to a separate statement. This
avoids GCC's warning even on 64-bit hosts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60706 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRevert 60689. It caused many regressions on Darwin targets.
Dan Gohman [Mon, 8 Dec 2008 17:38:02 +0000 (17:38 +0000)]
Revert 60689. It caused many regressions on Darwin targets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60705 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse 'delete []' instead of 'delete' in OwningArray::reset().
Ted Kremenek [Mon, 8 Dec 2008 17:28:11 +0000 (17:28 +0000)]
Use 'delete []' instead of 'delete' in OwningArray::reset().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60703 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix spelling.
Devang Patel [Mon, 8 Dec 2008 17:07:24 +0000 (17:07 +0000)]
Fix spelling.
Thanks Duncan!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60702 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUndo previous patch.
Devang Patel [Mon, 8 Dec 2008 17:02:37 +0000 (17:02 +0000)]
Undo previous patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60701 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix comment typo.
Duncan Sands [Mon, 8 Dec 2008 14:10:36 +0000 (14:10 +0000)]
Fix comment typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60698 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix comment typo.
Duncan Sands [Mon, 8 Dec 2008 14:01:59 +0000 (14:01 +0000)]
Fix comment typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60697 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFactor out the code for sign-extending/truncating gep indices
Dan Gohman [Mon, 8 Dec 2008 07:57:47 +0000 (07:57 +0000)]
Factor out the code for sign-extending/truncating gep indices
and use it in x86 address mode folding. Also, make
getRegForValue return 0 for illegal types even if it has a
ValueMap for them, because Argument values are put in the
ValueMap. This fixes PR3181.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60696 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd another level of caching for non-local pointer queries, keeping
Chris Lattner [Mon, 8 Dec 2008 07:31:50 +0000 (07:31 +0000)]
add another level of caching for non-local pointer queries, keeping
track of whether the CachedNonLocalPointerInfo for a block is specific
to a block.  If so, just return it without any pred scanning.  This is
good for a 6% speedup on GVN (when it uses this lookup method, which
it doesn't right now).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60695 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoconsistency
Chris Lattner [Mon, 8 Dec 2008 07:21:39 +0000 (07:21 +0000)]
consistency

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60694 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agointroduce a new RoundUpAlignment helper function, use it to
Chris Lattner [Mon, 8 Dec 2008 07:11:56 +0000 (07:11 +0000)]
introduce a new RoundUpAlignment helper function, use it to
remove some more 64-bit divs and rems from the StructLayout
ctor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60692 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake ConstantAggregateZero::get return a ConstantAggregateZero*,
Dan Gohman [Mon, 8 Dec 2008 07:10:54 +0000 (07:10 +0000)]
Make ConstantAggregateZero::get return a ConstantAggregateZero*,
as suggested in PR3182.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60691 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate CPP backend for PrintModulePass API changes.
Dan Gohman [Mon, 8 Dec 2008 07:07:24 +0000 (07:07 +0000)]
Update CPP backend for PrintModulePass API changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60690 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPerform cheap checks first.
Evan Cheng [Mon, 8 Dec 2008 06:52:43 +0000 (06:52 +0000)]
Perform cheap checks first.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60689 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSpeed up getABITypeSize by turning a i64 mul and div into an
Chris Lattner [Mon, 8 Dec 2008 06:50:51 +0000 (06:50 +0000)]
Speed up getABITypeSize by turning a i64 mul and div into an
AND.  This is speedup on any reasonable target, but particularly
on 32-bit targets where this often turns into a libcall like udivdi3.

We know that alignments are a power of two but the compiler doesn't.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60688 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSome minor optimizations for isObjectSmallerThan.
Chris Lattner [Mon, 8 Dec 2008 06:28:54 +0000 (06:28 +0000)]
Some minor optimizations for isObjectSmallerThan.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60687 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoClarify a comment.
Dan Gohman [Mon, 8 Dec 2008 04:54:58 +0000 (04:54 +0000)]
Clarify a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60685 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMove createVirtualRegister out-of-line.
Dan Gohman [Mon, 8 Dec 2008 04:54:11 +0000 (04:54 +0000)]
Move createVirtualRegister out-of-line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60684 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoClarify some comments.
Dan Gohman [Mon, 8 Dec 2008 04:53:23 +0000 (04:53 +0000)]
Clarify some comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60683 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd svn:ignore property.
Dan Gohman [Mon, 8 Dec 2008 04:11:50 +0000 (04:11 +0000)]
Add svn:ignore property.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60682 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoGeneralize bugpoint's concept of a "safe" backend, and add options
Dan Gohman [Mon, 8 Dec 2008 04:02:47 +0000 (04:02 +0000)]
Generalize bugpoint's concept of a "safe" backend, and add options
to allow the "safe" backend to be run with a different path, and/or
with different command-line options.

This enables the following use cases:
 - bugpoint llc against an llc command from a different build
 - bugpoint llc against the same llc with different command-line options
 - and more...

Also, document the existing "custom" interpreter options.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60681 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFixes for Visual Studio users. Patch by OvermindDL1 on llvm-dev!
Nick Lewycky [Mon, 8 Dec 2008 00:45:02 +0000 (00:45 +0000)]
Fixes for Visual Studio users. Patch by OvermindDL1 on llvm-dev!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60679 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse bool instead of int, now that it no longer evokes a warning.
Dan Gohman [Sun, 7 Dec 2008 21:33:27 +0000 (21:33 +0000)]
Use bool instead of int, now that it no longer evokes a warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60678 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse intptr_t instead of unsigned here, which is more appropriate
Dan Gohman [Sun, 7 Dec 2008 21:28:00 +0000 (21:28 +0000)]
Use intptr_t instead of unsigned here, which is more appropriate
in a really obscure way, but more importantly has the side effect
of avoiding a GCC warning in the case that IntType is bool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60677 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd an assert. the cast<> below would catch this but a message is more
Chris Lattner [Sun, 7 Dec 2008 18:45:15 +0000 (18:45 +0000)]
add an assert.  the cast<> below would catch this but a message is more
useful.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60674 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofactor some code better.
Chris Lattner [Sun, 7 Dec 2008 18:42:51 +0000 (18:42 +0000)]
factor some code better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60673 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofactor some code, fixing some fixme's.
Chris Lattner [Sun, 7 Dec 2008 18:39:13 +0000 (18:39 +0000)]
factor some code, fixing some fixme's.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60672 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix a typo duncan noticed!
Chris Lattner [Sun, 7 Dec 2008 18:21:37 +0000 (18:21 +0000)]
fix a typo duncan noticed!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60671 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCMake: Added Tool.cpp to tools/llvmc/driver.
Oscar Fuentes [Sun, 7 Dec 2008 17:01:16 +0000 (17:01 +0000)]
CMake: Added Tool.cpp to tools/llvmc/driver.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60670 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMan page update.
Mikhail Glushenkov [Sun, 7 Dec 2008 16:48:07 +0000 (16:48 +0000)]
Man page update.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60669 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDescribe recent changes in the documentation.
Mikhail Glushenkov [Sun, 7 Dec 2008 16:47:42 +0000 (16:47 +0000)]
Describe recent changes in the documentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60668 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake 'extern' an option property.
Mikhail Glushenkov [Sun, 7 Dec 2008 16:47:12 +0000 (16:47 +0000)]
Make 'extern' an option property.

Makes (forward) work better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60667 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPlugin updates: support more options.
Mikhail Glushenkov [Sun, 7 Dec 2008 16:46:23 +0000 (16:46 +0000)]
Plugin updates: support more options.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60666 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoJoin tools couldn't be used in the middle of the toolchain.
Mikhail Glushenkov [Sun, 7 Dec 2008 16:45:37 +0000 (16:45 +0000)]
Join tools couldn't be used in the middle of the toolchain.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60665 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoBetter error message.
Mikhail Glushenkov [Sun, 7 Dec 2008 16:45:12 +0000 (16:45 +0000)]
Better error message.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60664 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRe-apply Cedric's changes.
Mikhail Glushenkov [Sun, 7 Dec 2008 16:44:47 +0000 (16:44 +0000)]
Re-apply Cedric's changes.

Use B instead of Beg (for consistency), but NodeA and NodeB instead of A
and B.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60663 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd some clarifying comments.
Mikhail Glushenkov [Sun, 7 Dec 2008 16:44:15 +0000 (16:44 +0000)]
Add some clarifying comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60662 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoEnable the Clang plugin by default.
Mikhail Glushenkov [Sun, 7 Dec 2008 16:43:42 +0000 (16:43 +0000)]
Enable the Clang plugin by default.

This will eventually replace `ccc`. The command `llvmc -clang` now uses
the Clang toolchain instead of `llvm-gcc`.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60661 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate plugins to use (actions).
Mikhail Glushenkov [Sun, 7 Dec 2008 16:43:17 +0000 (16:43 +0000)]
Update plugins to use (actions).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60660 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTry to guess when the auto-generated cl::Sink option should be marked 'extern'.
Mikhail Glushenkov [Sun, 7 Dec 2008 16:42:47 +0000 (16:42 +0000)]
Try to guess when the auto-generated cl::Sink option should be marked 'extern'.

This would be much easier to do if the CommandLine library didn't use
global state. Global state is evil.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60659 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a (progn)-like construct for (actions). Implemented as a DAG list.
Mikhail Glushenkov [Sun, 7 Dec 2008 16:42:22 +0000 (16:42 +0000)]
Add a (progn)-like construct for (actions). Implemented as a DAG list.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60658 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd tests for tblgen's LLVMC backend.
Mikhail Glushenkov [Sun, 7 Dec 2008 16:41:50 +0000 (16:41 +0000)]
Add tests for tblgen's LLVMC backend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60657 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse (actions) instead of option properties, support external options.
Mikhail Glushenkov [Sun, 7 Dec 2008 16:41:11 +0000 (16:41 +0000)]
Use (actions) instead of option properties, support external options.

Also includes a major refactoring. See documentation for more
information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60656 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd support for caching pointer dependence queries. Nothing uses this yet
Chris Lattner [Sun, 7 Dec 2008 08:50:20 +0000 (08:50 +0000)]
add support for caching pointer dependence queries.  Nothing uses this yet
so it "can't" break anything.  That said, it does appear to work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60654 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix a bug I introduced in simplifycfg handling single entry phi
Chris Lattner [Sun, 7 Dec 2008 07:22:45 +0000 (07:22 +0000)]
fix a bug I introduced in simplifycfg handling single entry phi
nodes. FoldSingleEntryPHINodes deletes the PHI, so there is no
need to delete it afterward.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60653 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSwitch to top-down mode and fix a crasher this exposed caused by an error in the
Owen Anderson [Sun, 7 Dec 2008 05:33:18 +0000 (05:33 +0000)]
Switch to top-down mode and fix a crasher this exposed caused by an error in the
live interval updating.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60652 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix typo, psuedo -> pseudo.
Nick Lewycky [Sun, 7 Dec 2008 03:49:52 +0000 (03:49 +0000)]
Fix typo, psuedo -> pseudo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60651 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSome internal refactoring to make it easier to cache results.
Chris Lattner [Sun, 7 Dec 2008 02:56:57 +0000 (02:56 +0000)]
Some internal refactoring to make it easier to cache results.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60650 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIntroduce a new MemDep::getNonLocalPointerDependency
Chris Lattner [Sun, 7 Dec 2008 02:15:47 +0000 (02:15 +0000)]
Introduce a new MemDep::getNonLocalPointerDependency
method.  This will eventually take over load/store dep
queries from getNonLocalDependency.  For now it works
fine, but is incredibly slow because it does no caching.
Lets not switch GVN to use it until that is fixed :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60649 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agopush the "pointer case" up the analysis stack a bit. This causes
Chris Lattner [Sun, 7 Dec 2008 01:50:16 +0000 (01:50 +0000)]
push the "pointer case" up the analysis stack a bit.  This causes
duplication of logic (in 2 places) to determine what pointer a
load/store touches.  This will be addressed in a future commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60648 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agomake clients have to know how to call getCallSiteDependencyFrom
Chris Lattner [Sun, 7 Dec 2008 01:21:14 +0000 (01:21 +0000)]
make clients have to know how to call getCallSiteDependencyFrom
instead of making getDependencyFrom do it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60647 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agorename some variables for consistency
Chris Lattner [Sun, 7 Dec 2008 00:39:19 +0000 (00:39 +0000)]
rename some variables for consistency

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60644 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoI love how using out of scope variables is not an error with GCC, no really I do.
Chris Lattner [Sun, 7 Dec 2008 00:38:27 +0000 (00:38 +0000)]
I love how using out of scope variables is not an error with GCC, no really I do.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60643 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename getCallSiteDependency -> getCallSiteDependencyFrom to
Chris Lattner [Sun, 7 Dec 2008 00:35:51 +0000 (00:35 +0000)]
Rename getCallSiteDependency -> getCallSiteDependencyFrom to
emphasize the scanning and make it more similar to
getDependencyFrom

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60642 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoa memdep query on a volatile load/store will always return
Chris Lattner [Sun, 7 Dec 2008 00:28:02 +0000 (00:28 +0000)]
a memdep query on a volatile load/store will always return
clobber with the current implementation.  Instead of returning
a "precise clobber" just return a fuzzy one.  This doesn't
matter to any clients anyway and should speed up analysis time
very very slightly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60641 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agodon't bother touching volatile stores, they will just return clobber on
Chris Lattner [Sun, 7 Dec 2008 00:25:15 +0000 (00:25 +0000)]
don't bother touching volatile stores, they will just return clobber on
everything interesting anyway.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60640 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove the ability to get memdep info for vaarg. I don't think the
Chris Lattner [Sun, 7 Dec 2008 00:21:18 +0000 (00:21 +0000)]
remove the ability to get memdep info for vaarg.  I don't think the
original impl was correct and noone actually makes the query anyway.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60639 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agomake getDependencyFrom private.
Chris Lattner [Sun, 7 Dec 2008 00:16:50 +0000 (00:16 +0000)]
make getDependencyFrom private.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60637 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoimprove a note.
Chris Lattner [Sun, 7 Dec 2008 00:15:10 +0000 (00:15 +0000)]
improve a note.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60636 91177308-0d34-0410-b5e6-96231b3b80d8