oota-llvm.git
18 years agoWrap comments to 80 cols, fix code sequence for CountLeadingZeros_64 on
Chris Lattner [Wed, 3 Aug 2005 16:53:58 +0000 (16:53 +0000)]
Wrap comments to 80 cols, fix code sequence for CountLeadingZeros_64 on
non-ppc GCC 4.0 machines.  Patch by Jim Laskey!

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

18 years agominor capitalization thing, patch by Jim Laskey
Chris Lattner [Wed, 3 Aug 2005 16:52:22 +0000 (16:52 +0000)]
minor capitalization thing, patch by Jim Laskey

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

18 years agoFix another bug in the clz patch that caused miscompilations when !gcc4
Chris Lattner [Wed, 3 Aug 2005 01:04:40 +0000 (01:04 +0000)]
Fix another bug in the clz patch that caused miscompilations when !gcc4

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

18 years agoFinally, add the required constraint checks to fix Transforms/SimplifyCFG/2005-08...
Chris Lattner [Wed, 3 Aug 2005 00:59:12 +0000 (00:59 +0000)]
Finally, add the required constraint checks to fix  Transforms/SimplifyCFG/2005-08-01-PHIUpdateFail.ll
the right way

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

18 years agoun-xfail this
Chris Lattner [Wed, 3 Aug 2005 00:58:44 +0000 (00:58 +0000)]
un-xfail this

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

18 years agoSimplify some code, add the correct pred checks
Chris Lattner [Wed, 3 Aug 2005 00:38:27 +0000 (00:38 +0000)]
Simplify some code, add the correct pred checks

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

18 years agoRefactor code out of PropagatePredecessorsForPHIs, turning it into a pure function...
Chris Lattner [Wed, 3 Aug 2005 00:29:26 +0000 (00:29 +0000)]
Refactor code out of PropagatePredecessorsForPHIs, turning it into a pure function with no side-effects

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

18 years agouse splice instead of remove/insert to avoid some symtab operations
Chris Lattner [Wed, 3 Aug 2005 00:23:42 +0000 (00:23 +0000)]
use splice instead of remove/insert to avoid some symtab operations

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

18 years agomove two functions up in the file, use SafeToMergeTerminators to eliminate
Chris Lattner [Wed, 3 Aug 2005 00:19:45 +0000 (00:19 +0000)]
move two functions up in the file, use SafeToMergeTerminators to eliminate
some duplicated code

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

18 years agoRip some code out of the main SimplifyCFG function into a subfunction and
Chris Lattner [Wed, 3 Aug 2005 00:11:16 +0000 (00:11 +0000)]
Rip some code out of the main SimplifyCFG function into a subfunction and
call it from the only place it is live.  No functionality changes.

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

18 years agoThis fails for now
Chris Lattner [Wed, 3 Aug 2005 00:10:28 +0000 (00:10 +0000)]
This fails for now

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

18 years agoDisable this patch:
Chris Lattner [Tue, 2 Aug 2005 23:31:38 +0000 (23:31 +0000)]
Disable this patch:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050801/027345.html

This breaks real programs and only fixes an obscure regression testcase.  A
real fix is in development.

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

18 years agoChange a place to use an arbitrary value instead of null, when possible
Chris Lattner [Tue, 2 Aug 2005 23:29:23 +0000 (23:29 +0000)]
Change a place to use an arbitrary value instead of null, when possible

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

18 years agoIf the user interrupts bugpoint, don't extract loops
Chris Lattner [Tue, 2 Aug 2005 23:25:56 +0000 (23:25 +0000)]
If the user interrupts bugpoint, don't extract loops

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

18 years agoAdd a note, people are responsible for requesting that they be added to the
Chris Lattner [Tue, 2 Aug 2005 22:10:21 +0000 (22:10 +0000)]
Add a note, people are responsible for requesting that they be added to the
file.

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

18 years agoPass -export-dynamic to gcc when compiling with -native and the link is
Chris Lattner [Tue, 2 Aug 2005 22:07:38 +0000 (22:07 +0000)]
Pass -export-dynamic to gcc when compiling with -native and the link is
performed with -export-dynamic (aka. -disable-internalize).

Patch by Nicholas Riley!

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

18 years agoFix the non-gcc 4.0 paths for countleadingzeros
Chris Lattner [Tue, 2 Aug 2005 20:21:33 +0000 (20:21 +0000)]
Fix the non-gcc 4.0 paths for countleadingzeros

Patch fixed by Jim Laskey

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

18 years agoFix inverted conditionals
Chris Lattner [Tue, 2 Aug 2005 20:06:18 +0000 (20:06 +0000)]
Fix inverted conditionals

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

18 years agoone more hunk that got dropped
Chris Lattner [Tue, 2 Aug 2005 19:35:29 +0000 (19:35 +0000)]
one more hunk that got dropped

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

18 years agoThis hunk accidentally got dropped. Patch by Jim Laskey
Chris Lattner [Tue, 2 Aug 2005 19:30:55 +0000 (19:30 +0000)]
This hunk accidentally got dropped.  Patch by Jim Laskey

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

18 years agoUpdate to use the new MathExtras.h support for log2 computation.
Chris Lattner [Tue, 2 Aug 2005 19:26:06 +0000 (19:26 +0000)]
Update to use the new MathExtras.h support for log2 computation.
Patch contributed by Jim Laskey!

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

18 years agoFix the non-gcc 4.0 path to compile
Chris Lattner [Tue, 2 Aug 2005 19:21:51 +0000 (19:21 +0000)]
Fix the non-gcc 4.0 path to compile

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

18 years agoUpdate to use the new MathExtras.h support for log2 computation.
Chris Lattner [Tue, 2 Aug 2005 19:16:58 +0000 (19:16 +0000)]
Update to use the new MathExtras.h support for log2 computation.
Patch contributed by Jim Laskey!

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

18 years agoConsolidate all of the various log2 computing functions into MathExtras.h.
Chris Lattner [Tue, 2 Aug 2005 19:15:30 +0000 (19:15 +0000)]
Consolidate all of the various log2 computing functions into MathExtras.h.
Also, provide accelerated implementations when building with GCC.
Patch contributed by Jim Laskey!

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

18 years agoUpdate a doc, patch contributed by Jim Laskey!
Chris Lattner [Tue, 2 Aug 2005 19:14:25 +0000 (19:14 +0000)]
Update a doc, patch contributed by Jim Laskey!

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

18 years agoadd a pass name to make debugging dumps nicer
Chris Lattner [Tue, 2 Aug 2005 19:07:49 +0000 (19:07 +0000)]
add a pass name to make debugging dumps nicer

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

18 years agoFix grammar: it's == "it is".
Misha Brukman [Tue, 2 Aug 2005 16:04:59 +0000 (16:04 +0000)]
Fix grammar: it's == "it is".

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

18 years agoLike the comment says, do not insert cast instructions before phi nodes
Chris Lattner [Tue, 2 Aug 2005 03:31:14 +0000 (03:31 +0000)]
Like the comment says, do not insert cast instructions before phi nodes

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

18 years agoIt's dangerous coding on Mondays.
Jeff Cohen [Tue, 2 Aug 2005 03:26:32 +0000 (03:26 +0000)]
It's dangerous coding on Mondays.

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

18 years agoThis code was very close, but not quite right. It did not take into
Chris Lattner [Tue, 2 Aug 2005 03:24:05 +0000 (03:24 +0000)]
This code was very close, but not quite right.  It did not take into
consideration the case where a reference in an unreachable block could
occur.  This fixes Transforms/SimplifyCFG/2005-08-01-PHIUpdateFail.ll,
something I ran into while bugpoint'ing another pass.

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

18 years agoNew testcase that caused simplifycfg to crash
Chris Lattner [Tue, 2 Aug 2005 03:23:03 +0000 (03:23 +0000)]
New testcase that caused simplifycfg to crash

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

18 years agoImplement SetInterruptFunction for Windows.
Jeff Cohen [Tue, 2 Aug 2005 03:04:47 +0000 (03:04 +0000)]
Implement SetInterruptFunction for Windows.

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

18 years agoadd a comment, make a check more lenient
Chris Lattner [Tue, 2 Aug 2005 02:52:02 +0000 (02:52 +0000)]
add a comment, make a check more lenient

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

18 years agoSimplify for loop, clear a per-loop map after processing each loop
Chris Lattner [Tue, 2 Aug 2005 02:44:31 +0000 (02:44 +0000)]
Simplify for loop, clear a per-loop map after processing each loop

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

18 years agoWhen the user hits ctrl-c, bugpoint should attempt to stop reduction as
Chris Lattner [Tue, 2 Aug 2005 02:16:17 +0000 (02:16 +0000)]
When the user hits ctrl-c, bugpoint should attempt to stop reduction as
quickly as possible and output what it has so far.  If they hit it twice,
bugpoint is killed.

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

18 years agoImplement sys::SetInterruptFunction on Unix, stub it on win32 so that the
Chris Lattner [Tue, 2 Aug 2005 02:14:22 +0000 (02:14 +0000)]
Implement sys::SetInterruptFunction on Unix, stub it on win32 so that the
build will not fail

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

18 years agoadd a new function proto
Chris Lattner [Tue, 2 Aug 2005 02:13:42 +0000 (02:13 +0000)]
add a new function proto

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

18 years agoAdd a comment
Chris Lattner [Tue, 2 Aug 2005 01:32:29 +0000 (01:32 +0000)]
Add a comment
Make LSR ignore GEP's that have loop variant base values, as we currently
cannot codegen them

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

18 years agoFix an iterator invalidation problem
Chris Lattner [Tue, 2 Aug 2005 00:41:11 +0000 (00:41 +0000)]
Fix an iterator invalidation problem

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

18 years ago200.sixtrack prints FP numbers with a very strange notation that uses D
Chris Lattner [Tue, 2 Aug 2005 00:11:53 +0000 (00:11 +0000)]
200.sixtrack prints FP numbers with a very strange notation that uses D
instead of E for exponentials (e.g. 1.234D-43).  Add support for this
notation.

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

18 years agomake is the standard name, not gmake
Chris Lattner [Tue, 2 Aug 2005 00:10:52 +0000 (00:10 +0000)]
make is the standard name, not gmake

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

18 years agoMark these as V9 specific
Chris Lattner [Mon, 1 Aug 2005 20:38:31 +0000 (20:38 +0000)]
Mark these as V9 specific

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

18 years agoupdate function codes to reflect /su flags that have been added since this was written
Andrew Lenharth [Mon, 1 Aug 2005 20:06:01 +0000 (20:06 +0000)]
update function codes to reflect /su flags that have been added since this was written

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

18 years agoFix casts from long to sbyte on ppc
Chris Lattner [Mon, 1 Aug 2005 18:16:37 +0000 (18:16 +0000)]
Fix casts from long to sbyte on ppc

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

18 years agouse llabs not abs
Andrew Lenharth [Mon, 1 Aug 2005 17:47:28 +0000 (17:47 +0000)]
use llabs not abs

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

18 years agoone cannot allocate a global, until one is done initializing the global pointers
Andrew Lenharth [Mon, 1 Aug 2005 17:35:40 +0000 (17:35 +0000)]
one cannot allocate a global, until one is done initializing the global pointers

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

18 years agotemporarily fail these two tests until LSR evolves to support them
Chris Lattner [Mon, 1 Aug 2005 17:10:50 +0000 (17:10 +0000)]
temporarily fail these two tests until LSR evolves to support them

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

18 years agoConstantInt::get only works for arguments < 128.
Chris Lattner [Mon, 1 Aug 2005 16:52:50 +0000 (16:52 +0000)]
ConstantInt::get only works for arguments < 128.

SimplifyLibCalls probably has to be audited to make sure it does not make
this mistake elsewhere.  Also, if this code knows that the type will be
unsigned, obviously one arm of this is dead.

Reid, can you take a look into this further?

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

18 years agoKeep tabs and trailing spaces out.
Jeff Cohen [Sat, 30 Jul 2005 18:33:25 +0000 (18:33 +0000)]
Keep tabs and trailing spaces out.

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

18 years agoFix VC++ build problems.
Jeff Cohen [Sat, 30 Jul 2005 18:22:27 +0000 (18:22 +0000)]
Fix VC++ build problems.

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

18 years agofix float->long conversions on x86
Chris Lattner [Sat, 30 Jul 2005 01:40:57 +0000 (01:40 +0000)]
fix float->long conversions on x86

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

18 years agothis tests every fp-to-integer conversion
Chris Lattner [Sat, 30 Jul 2005 01:33:38 +0000 (01:33 +0000)]
this tests every fp-to-integer conversion

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

18 years agofix a typeo
Chris Lattner [Sat, 30 Jul 2005 00:43:00 +0000 (00:43 +0000)]
fix a typeo

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

18 years agoAck, typo
Nate Begeman [Sat, 30 Jul 2005 00:21:31 +0000 (00:21 +0000)]
Ack, typo

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

18 years agoChange the fp to integer code to not perform 2-byte stores followed by
Chris Lattner [Sat, 30 Jul 2005 00:17:52 +0000 (00:17 +0000)]
Change the fp to integer code to not perform 2-byte stores followed by
1 byte loads and other operations.  This is bad for store-forwarding on
common CPUs.  We now do this:

fnstcw WORD PTR [%ESP]
mov %AX, WORD PTR [%ESP]

instead of:

fnstcw WORD PTR [%ESP]
mov %AL, BYTE PTR [%ESP + 1]

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

18 years agoCommit a new LoopStrengthReduce pass that can use scalar evolutions and
Nate Begeman [Sat, 30 Jul 2005 00:15:07 +0000 (00:15 +0000)]
Commit a new LoopStrengthReduce pass that can use scalar evolutions and
target data to decide which loop induction variables to strength reduce
and how to do so.  This work is mostly by Chris Lattner, with tweaks by
me to get it working on some of MultiSource.

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

18 years agoBreak SCEVExpander out of IndVarSimplify into its own .h/.cpp file so that
Nate Begeman [Sat, 30 Jul 2005 00:12:19 +0000 (00:12 +0000)]
Break SCEVExpander out of IndVarSimplify into its own .h/.cpp file so that
other passes may use it.

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

18 years agoUse a custom expander for all FP to int conversions, as the X86 only has
Chris Lattner [Sat, 30 Jul 2005 00:05:54 +0000 (00:05 +0000)]
Use a custom expander for all FP to int conversions, as the X86 only has
FP-to-int-in-memory: this exposes the load from the stored slot to the
selection dag, allowing it to be folded into other operaions.

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

18 years agoAllow targets to have custom expanders for FP_TO_*INT conversions where
Chris Lattner [Sat, 30 Jul 2005 00:04:12 +0000 (00:04 +0000)]
Allow targets to have custom expanders for FP_TO_*INT conversions where
both the src and dest values are legal

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

18 years agosupport near allocations for the JIT
Andrew Lenharth [Fri, 29 Jul 2005 23:40:16 +0000 (23:40 +0000)]
support near allocations for the JIT

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

18 years agoturn off GOT on archs that didn't use it (not that it appeard to harm them much with...
Andrew Lenharth [Fri, 29 Jul 2005 23:32:02 +0000 (23:32 +0000)]
turn off GOT on archs that didn't use it (not that it appeard to harm them much with it on)

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

18 years agoImplement a FIXME: move a bunch of cruft for handling FP_TO_*INT operations
Chris Lattner [Fri, 29 Jul 2005 01:00:29 +0000 (01:00 +0000)]
Implement a FIXME: move a bunch of cruft for handling FP_TO_*INT operations
that the X86 does not support to the legalizer.  This allows it to be better
optimized, etc, and will help with SSE support.

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

18 years agoDon't forget to diddle with the control word when performing an FISTP64.
Chris Lattner [Fri, 29 Jul 2005 00:54:34 +0000 (00:54 +0000)]
Don't forget to diddle with the control word when performing an FISTP64.

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

18 years agoUse a custom expander to compile this:
Chris Lattner [Fri, 29 Jul 2005 00:40:01 +0000 (00:40 +0000)]
Use a custom expander to compile this:

long %test4(double %X) {
        %tmp.1 = cast double %X to long         ; <long> [#uses=1]
        ret long %tmp.1
}

to this:

_test4:
        sub %ESP, 12
        fld QWORD PTR [%ESP + 16]
        fistp QWORD PTR [%ESP]
        mov %EDX, DWORD PTR [%ESP + 4]
        mov %EAX, DWORD PTR [%ESP]
        add %ESP, 12
        ret

instead of this:

_test4:
        sub %ESP, 28
        fld QWORD PTR [%ESP + 32]
        fstp QWORD PTR [%ESP]
        call ___fixdfdi
        add %ESP, 28
        ret

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

18 years agoAllow targets to define custom expanders for FP_TO_*INT
Chris Lattner [Fri, 29 Jul 2005 00:33:32 +0000 (00:33 +0000)]
Allow targets to define custom expanders for FP_TO_*INT

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

18 years agoallow a target to request that unknown FP_TO_*INT conversion be promoted to
Chris Lattner [Fri, 29 Jul 2005 00:11:56 +0000 (00:11 +0000)]
allow a target to request that unknown FP_TO_*INT conversion be promoted to
a larger integer destination.

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

18 years agoinstead of having all conversions be handled by one case value, and then have
Chris Lattner [Thu, 28 Jul 2005 23:31:12 +0000 (23:31 +0000)]
instead of having all conversions be handled by one case value, and then have
subcases inside, break things out earlier.

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

18 years agoNew testcase for PR610
Chris Lattner [Thu, 28 Jul 2005 20:18:33 +0000 (20:18 +0000)]
New testcase for PR610

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

18 years agosupport bsr, and more .td simplification
Andrew Lenharth [Thu, 28 Jul 2005 18:14:47 +0000 (18:14 +0000)]
support bsr, and more .td simplification

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

18 years agonew is not a valid default anywhere, so make this pure virtual
Andrew Lenharth [Thu, 28 Jul 2005 18:13:59 +0000 (18:13 +0000)]
new is not a valid default anywhere, so make this pure virtual

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

18 years agoFix a problem in getDirectoryContents where sub-directory names were
Reid Spencer [Thu, 28 Jul 2005 16:25:57 +0000 (16:25 +0000)]
Fix a problem in getDirectoryContents where sub-directory names were
appended to a path string that didn't end in a slash, yielding invalid
path names.

Path contribute by Nicholas Riley.

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

18 years agoget lazy JITing working. Some of shootout runs now
Andrew Lenharth [Thu, 28 Jul 2005 12:45:20 +0000 (12:45 +0000)]
get lazy JITing working.  Some of shootout runs now

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

18 years agoLike constants, globals on some platforms are GOT relative. This means they have...
Andrew Lenharth [Thu, 28 Jul 2005 12:44:13 +0000 (12:44 +0000)]
Like constants, globals on some platforms are GOT relative.  This means they have to be allocated
near the GOT, which new doesn't do.  So break out the allocate into a new function.

Also move GOT index handling into JITResolver.  This lets it update the mapping when a Lazy
function is JITed.  It doesn't managed the table, just the mapping.  Note that this is
still non-ideal, as any function that takes a function address should also take a GOT
index, but that is a lot of changes.  The relocation resolve process updates any GOT entry
it sees is out of date.

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

18 years agoEliminate an extra copy from R1 that Nate noticed on function calls that
Chris Lattner [Thu, 28 Jul 2005 05:23:43 +0000 (05:23 +0000)]
Eliminate an extra copy from R1 that Nate noticed on function calls that
have to write arguments to the stack

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

18 years agoSpecify the correct number of operands
Chris Lattner [Thu, 28 Jul 2005 04:42:11 +0000 (04:42 +0000)]
Specify the correct number of operands

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

18 years agoRun the verifier pass after all the other passes rather than before them.
Reid Spencer [Thu, 28 Jul 2005 04:00:49 +0000 (04:00 +0000)]
Run the verifier pass after all the other passes rather than before them.
This catches mistakes in the passes rather than just verifying the bytecode
input to llc.

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

18 years agoFold constant adds into loads and stores to frame indices.
Nate Begeman [Thu, 28 Jul 2005 03:02:05 +0000 (03:02 +0000)]
Fold constant adds into loads and stores to frame indices.

For the following code:
double %ext(int %A.0__, long %A.1__) {
        %A_addr = alloca %typedef.DComplex              ; <%typedef.DComplex*> [#uses=2]
        %tmp.1 = cast %typedef.DComplex* %A_addr to int*                ; <int*> [#uses=1]
        store int %A.0__, int* %tmp.1
        %tmp.2 = getelementptr %typedef.DComplex* %A_addr, int 0, uint 1                ; <double*> [#uses=2]
        %tmp.3 = cast double* %tmp.2 to long*           ; <long*> [#uses=1]
        store long %A.1__, long* %tmp.3
        %tmp.5 = load double* %tmp.2            ; <double> [#uses=1]
        ret double %tmp.5
}

We now generate:
_ext:
.LBB_ext_0:     ;
        stw r3, -12(r1)
        stw r4, -8(r1)
        stw r5, -4(r1)
        lfd f1, -8(r1)
        blr

Instead of:
_ext:
.LBB_ext_0:     ;
        stw r3, -12(r1)
        addi r2, r1, -12
        stw r4, 4(r2)
        stw r5, 8(r2)
        lfd f1, 4(r2)
        blr

This also fires hundreds of times on MultiSource.

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

18 years agoMake the verifier pass run (in debug mode) in llc. This adds a sanity check
Reid Spencer [Thu, 28 Jul 2005 02:25:30 +0000 (02:25 +0000)]
Make the verifier pass run (in debug mode) in llc. This adds a sanity check
to llc when debugging. Also allow other passes to be run from llc.
Patch contributed by Michael McCracken.

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

18 years agoPlease do not reintroduce tabs.
Jeff Cohen [Thu, 28 Jul 2005 02:04:44 +0000 (02:04 +0000)]
Please do not reintroduce tabs.

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

18 years agoFix some comments
Nate Begeman [Wed, 27 Jul 2005 23:11:27 +0000 (23:11 +0000)]
Fix some comments

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

18 years agoFix debug info to not print out recently freed memory.
Chris Lattner [Wed, 27 Jul 2005 23:11:25 +0000 (23:11 +0000)]
Fix debug info to not print out recently freed memory.

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

18 years agoPrint symbolic register names in debug dumps
Chris Lattner [Wed, 27 Jul 2005 23:03:38 +0000 (23:03 +0000)]
Print symbolic register names in debug dumps

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

18 years agoFix PR608:
Reid Spencer [Wed, 27 Jul 2005 21:58:38 +0000 (21:58 +0000)]
Fix PR608:
Previously the script assumed the version number was the last field, now
it assumes it is the first sequence of digits.

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

18 years agoEliminate all remaining tabs and trailing spaces.
Jeff Cohen [Wed, 27 Jul 2005 06:12:32 +0000 (06:12 +0000)]
Eliminate all remaining tabs and trailing spaces.

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

18 years agoImplement the optimization for the Red Zone on Darwin. This removes the
Nate Begeman [Wed, 27 Jul 2005 06:06:29 +0000 (06:06 +0000)]
Implement the optimization for the Red Zone on Darwin.  This removes the
unnecessary SP manipulation in leaf routines that don't need it.

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

18 years agofix some warnings when compiled with 32-bit hosts
Chris Lattner [Wed, 27 Jul 2005 05:58:01 +0000 (05:58 +0000)]
fix some warnings when compiled with 32-bit hosts

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

18 years agoEliminate tabs and trailing spaces.
Jeff Cohen [Wed, 27 Jul 2005 05:53:44 +0000 (05:53 +0000)]
Eliminate tabs and trailing spaces.

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

18 years agoTestcase for PR607
Chris Lattner [Tue, 26 Jul 2005 22:08:53 +0000 (22:08 +0000)]
Testcase for PR607

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

18 years agoadd a note about the red zone
Chris Lattner [Tue, 26 Jul 2005 19:07:51 +0000 (19:07 +0000)]
add a note about the red zone

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

18 years agoWrap some long lines, fix emission of weak global variables
Chris Lattner [Tue, 26 Jul 2005 19:03:27 +0000 (19:03 +0000)]
Wrap some long lines, fix emission of weak global variables

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

18 years agoUpdate the PPC readme
Nate Begeman [Tue, 26 Jul 2005 18:59:06 +0000 (18:59 +0000)]
Update the PPC readme

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

18 years agoConvertibleToGEP always returns 0, remove some old crufty code which
Chris Lattner [Tue, 26 Jul 2005 16:38:28 +0000 (16:38 +0000)]
ConvertibleToGEP always returns 0, remove some old crufty code which
is actually dead because of this!

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

18 years agofix a warning on 32-bit systems
Chris Lattner [Mon, 25 Jul 2005 23:42:58 +0000 (23:42 +0000)]
fix a warning on 32-bit systems

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

18 years agoFix an optimization put in for accessing static globals. This obviates
Nate Begeman [Mon, 25 Jul 2005 21:15:28 +0000 (21:15 +0000)]
Fix an optimization put in for accessing static globals.  This obviates
the need to build PIC.

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

18 years agoGet rid of bash specific syntax for variable dereferencing, replacing it
Reid Spencer [Mon, 25 Jul 2005 20:25:08 +0000 (20:25 +0000)]
Get rid of bash specific syntax for variable dereferencing, replacing it
with the more crufty (but more widely available) "eval" command.

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

18 years agofix compile error
Andrew Lenharth [Sat, 23 Jul 2005 07:46:48 +0000 (07:46 +0000)]
fix compile error

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

18 years agoPowerPC no-pic code is not quite ready for prime-time
Chris Lattner [Fri, 22 Jul 2005 22:58:34 +0000 (22:58 +0000)]
PowerPC no-pic code is not quite ready for prime-time

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

18 years agoNo, really, it's an Alpha! And you probably thought it was a PowerPC.
Misha Brukman [Fri, 22 Jul 2005 22:43:40 +0000 (22:43 +0000)]
No, really, it's an Alpha!  And you probably thought it was a PowerPC.

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

18 years agoHandle more imm forms, and load small negative i32 constants without hitting memory...
Andrew Lenharth [Fri, 22 Jul 2005 22:24:01 +0000 (22:24 +0000)]
Handle more imm forms, and load small negative i32 constants without hitting memory (should do the same for arbitrary zero extended small negative constants)

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

18 years agoI know PowerPC wishes it could be alpha, but it cannot. so there
Andrew Lenharth [Fri, 22 Jul 2005 22:00:24 +0000 (22:00 +0000)]
I know PowerPC wishes it could be alpha, but it cannot.  so there

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