oota-llvm.git
17 years agoOnly emit the personality function as a global value if the backend actually
Bill Wendling [Sun, 16 Sep 2007 10:36:17 +0000 (10:36 +0000)]
Only emit the personality function as a global value if the backend actually
supports it. This solves this error on the Darwin x86-64 platform:

$ cat testcase.ii
struct A {
  A();
};

A *bork() {
  return new A;
}
$ llvm-g++ -arch x86_64 -c testcase.ii
/var/tmp//cc3U8fd8.s:52:unknown section type: non_lazy_symbol_pointers
/var/tmp//cc3U8fd8.s:52:Rest of line ignored. 1st junk character valued 76 (L).
/var/tmp//cc3U8fd8.s:53:Unknown pseudo-op: .indirect_symbol
/var/tmp//cc3U8fd8.s:53:Rest of line ignored. 1st junk character valued 95 (_).

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

17 years agoBe more careful when constant-folding PHI nodes.
Owen Anderson [Sun, 16 Sep 2007 08:04:16 +0000 (08:04 +0000)]
Be more careful when constant-folding PHI nodes.

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

17 years agoremove obsolete tests.
Chris Lattner [Sat, 15 Sep 2007 17:38:04 +0000 (17:38 +0000)]
remove obsolete tests.

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

17 years agoFix PR1666, SPASS with the CBE and 254.gap with the CBE.
Chris Lattner [Sat, 15 Sep 2007 06:51:03 +0000 (06:51 +0000)]
Fix PR1666, SPASS with the CBE and 254.gap with the CBE.

GCC optimizes away things like ptr < NULL  to false.  To "fix" this,
have the CBE emit casts of pointers to intptr_t when doing relational
pointer comparisons.

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

17 years agoNew testcase for PR1662. GCC trees are horrible :(
Chris Lattner [Sat, 15 Sep 2007 05:46:41 +0000 (05:46 +0000)]
New testcase for PR1662.  GCC trees are horrible :(

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

17 years agoAdd patterns for SHLD64* and SHRD64*.
Dan Gohman [Fri, 14 Sep 2007 23:17:45 +0000 (23:17 +0000)]
Add patterns for SHLD64* and SHRD64*.

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

17 years agofix a gcc warning: comparison between signed and unsigned integer expressions
Chris Lattner [Fri, 14 Sep 2007 22:57:00 +0000 (22:57 +0000)]
fix a gcc warning: comparison between signed and unsigned integer expressions

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

17 years agoRemove RLE from the headers, since the pass itself is gone now.
Owen Anderson [Fri, 14 Sep 2007 22:54:46 +0000 (22:54 +0000)]
Remove RLE from the headers, since the pass itself is gone now.

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

17 years agoRemove RLE. It is subsumed by GVN.
Owen Anderson [Fri, 14 Sep 2007 22:33:52 +0000 (22:33 +0000)]
Remove RLE.  It is subsumed by GVN.

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

17 years agoRemove the assumption that FP's are either float or
Dale Johannesen [Fri, 14 Sep 2007 22:26:36 +0000 (22:26 +0000)]
Remove the assumption that FP's are either float or
double from some of the many places in the optimizers
it appears, and do something reasonable with x86
long double.
Make APInt::dump() public, remove newline, use it to
dump ConstantSDNode's.
Allow APFloats in FoldingSet.
Expand X86 backend handling of long doubles (conversions
to/from int, mostly).

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

17 years agoAdd implicit def of EFLAGS on those instructions that may modify flags.
Evan Cheng [Fri, 14 Sep 2007 21:48:26 +0000 (21:48 +0000)]
Add implicit def of EFLAGS on those instructions that may modify flags.

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

17 years agoAnd an FoldingSetImpl::NodeID::AddInteger overload for int64_t, to avoid
Dan Gohman [Fri, 14 Sep 2007 20:48:42 +0000 (20:48 +0000)]
And an FoldingSetImpl::NodeID::AddInteger overload for int64_t, to avoid
ambiguity.

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

17 years agoAdd explicit triples to avoid default behavior that varies by host.
Dan Gohman [Fri, 14 Sep 2007 20:37:18 +0000 (20:37 +0000)]
Add explicit triples to avoid default behavior that varies by host.

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

17 years agoRemove isReg, isImm, and isMBB, and change all their users to use
Dan Gohman [Fri, 14 Sep 2007 20:33:02 +0000 (20:33 +0000)]
Remove isReg, isImm, and isMBB, and change all their users to use
isRegister, isImmediate, and isMachineBasicBlock, which are equivalent,
and more popular.

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

17 years agoChange "tmp." to "tmp" for temporaries created by ScalarEvolutionExpander
Dan Gohman [Fri, 14 Sep 2007 20:11:40 +0000 (20:11 +0000)]
Change "tmp." to "tmp" for temporaries created by ScalarEvolutionExpander
for consistency with many other transforms.

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

17 years agoRemove spurious consts. This fixes warnings with compilers that
Dan Gohman [Fri, 14 Sep 2007 20:08:19 +0000 (20:08 +0000)]
Remove spurious consts. This fixes warnings with compilers that
are strict about such things.

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

17 years agoAdd support for functions with byval arguments on x86
Rafael Espindola [Fri, 14 Sep 2007 15:48:13 +0000 (15:48 +0000)]
Add support for functions with byval arguments on x86

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

17 years agoFix a logic error in ValueIsOnlyUsedLocallyOrStoredToOneGlobal that caused
Chris Lattner [Fri, 14 Sep 2007 03:41:21 +0000 (03:41 +0000)]
Fix a logic error in ValueIsOnlyUsedLocallyOrStoredToOneGlobal that caused
miscompilation of 188.ammp.  Reject select and bitcast in
ValueIsOnlyUsedLocallyOrStoredToOneGlobal because RewriteHeapSROALoadUser can't handle it.

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

17 years agosilence a bogus gcc warning.
Chris Lattner [Fri, 14 Sep 2007 03:07:24 +0000 (03:07 +0000)]
silence a bogus gcc warning.

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

17 years agoFix comments.
Evan Cheng [Fri, 14 Sep 2007 01:57:02 +0000 (01:57 +0000)]
Fix comments.

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

17 years agoChange to 2.2svn.
Tanya Lattner [Fri, 14 Sep 2007 01:24:13 +0000 (01:24 +0000)]
Change to 2.2svn.

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

17 years agoTemporary reverting r41817
Bill Wendling [Fri, 14 Sep 2007 01:13:55 +0000 (01:13 +0000)]
Temporary reverting r41817
(http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070910/053370.html). It's
causing SPASS to fail.

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

17 years agoTeach GlobalLoadUsesSimpleEnoughForHeapSRA and the SROA rewriter how to handle
Chris Lattner [Thu, 13 Sep 2007 21:31:36 +0000 (21:31 +0000)]
Teach GlobalLoadUsesSimpleEnoughForHeapSRA and the SROA rewriter how to handle
a limited form of PHI nodes.  This finally fixes PR1639, speeding 179.art up
from 7.84s to 3.13s on PPC.

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

17 years agobe tolerant of PHI nodes when rewriting heap SROA code. This is a step
Chris Lattner [Thu, 13 Sep 2007 18:00:31 +0000 (18:00 +0000)]
be tolerant of PHI nodes when rewriting heap SROA code.  This is a step
along the way of PR1639

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

17 years agorefactor some code, no functionality change. On the path to PR1639
Chris Lattner [Thu, 13 Sep 2007 17:29:05 +0000 (17:29 +0000)]
refactor some code, no functionality change.  On the path to PR1639

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

17 years agoMake ValueIsOnlyUsedLocallyOrStoredToOneGlobal smart enough to see through
Chris Lattner [Thu, 13 Sep 2007 16:37:20 +0000 (16:37 +0000)]
Make ValueIsOnlyUsedLocallyOrStoredToOneGlobal smart enough to see through
bitcasts and phis.  This is a step to fixing PR1639.

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

17 years agoMake AllUsesOfLoadedValueWillTrapIfNull strong enough to see through PHI
Chris Lattner [Thu, 13 Sep 2007 16:30:19 +0000 (16:30 +0000)]
Make AllUsesOfLoadedValueWillTrapIfNull strong enough to see through PHI
nodes.  This is the first step of the fix for PR1639.

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

17 years agoremove dead enum value.
Chris Lattner [Thu, 13 Sep 2007 06:18:04 +0000 (06:18 +0000)]
remove dead enum value.

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

17 years agoMake single-argument ctors explicit to avoid tricky bugs :)
Chris Lattner [Thu, 13 Sep 2007 06:15:57 +0000 (06:15 +0000)]
Make single-argument ctors explicit to avoid tricky bugs :)

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

17 years agoFix build problems on Cygwin (PR1652), patch by Patrick Walton.
Chris Lattner [Thu, 13 Sep 2007 06:09:48 +0000 (06:09 +0000)]
Fix build problems on Cygwin (PR1652), patch by Patrick Walton.

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

17 years agoAdded getNumDefs().
Evan Cheng [Thu, 13 Sep 2007 00:16:29 +0000 (00:16 +0000)]
Added getNumDefs().

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

17 years agoBug fixes.
Evan Cheng [Thu, 13 Sep 2007 00:06:00 +0000 (00:06 +0000)]
Bug fixes.

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

17 years agoRemove dead code.
Evan Cheng [Wed, 12 Sep 2007 23:45:46 +0000 (23:45 +0000)]
Remove dead code.

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

17 years agoYet another getTargetNode variant.
Evan Cheng [Wed, 12 Sep 2007 23:39:49 +0000 (23:39 +0000)]
Yet another getTargetNode variant.

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

17 years agoInitial support for multi-result patterns:
Evan Cheng [Wed, 12 Sep 2007 23:30:14 +0000 (23:30 +0000)]
Initial support for multi-result patterns:
1.
[(set GR32:$dst, (add GR32:$src1, GR32:$src2)),
 (modify EFLAGS)]
This indicates the source pattern expects the instruction would produce 2 values. The first is the result of the addition. The second is an implicit definition in register EFLAGS.
2.
def : Pat<(parallel (addc GR32:$src1, GR32:$src2), (modify EFLAGS)), ()>
Similar to #1 except this is used for def : Pat patterns.

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

17 years agoFixed a typo that's causing a missing kill marker.
Evan Cheng [Wed, 12 Sep 2007 23:02:04 +0000 (23:02 +0000)]
Fixed a typo that's causing a missing kill marker.

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

17 years agoadd a new BF->LLVM translator, contributed by Sterling Stein.
Chris Lattner [Wed, 12 Sep 2007 18:24:00 +0000 (18:24 +0000)]
add a new BF->LLVM translator, contributed by Sterling Stein.

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

17 years agoChange llvm.gcroot to not init the root to null at runtime, this prevents
Chris Lattner [Wed, 12 Sep 2007 17:53:10 +0000 (17:53 +0000)]
Change llvm.gcroot to not init the root to null at runtime, this prevents
using it for live-in values etc.

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

17 years agoGenerated files for previous patch.
Dale Johannesen [Wed, 12 Sep 2007 03:31:28 +0000 (03:31 +0000)]
Generated files for previous patch.

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

17 years agoRevise previous patch per review comments.
Dale Johannesen [Wed, 12 Sep 2007 03:30:33 +0000 (03:30 +0000)]
Revise previous patch per review comments.
Next round of x87 long double stuff.
Getting close now, basically works.

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

17 years agoCompensate for partCount change in Bogus definition
Dale Johannesen [Wed, 12 Sep 2007 01:22:05 +0000 (01:22 +0000)]
Compensate for partCount change in Bogus definition
(could break hash table in ConstantFP)

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

17 years agoEnable indirect encoding for the personality function
Bill Wendling [Tue, 11 Sep 2007 23:55:40 +0000 (23:55 +0000)]
Enable indirect encoding for the personality function

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

17 years agoMove dump out of class, use "\n" instead of endl
Daniel Berlin [Tue, 11 Sep 2007 22:58:27 +0000 (22:58 +0000)]
Move dump out of class, use "\n" instead of endl

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

17 years agoSometimes a MI can define a register as well as defining a super-register at the
Evan Cheng [Tue, 11 Sep 2007 22:34:47 +0000 (22:34 +0000)]
Sometimes a MI can define a register as well as defining a super-register at the
same time. Do not mark the "smaller" def as dead.

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

17 years agoFix date :)
Anton Korobeynikov [Tue, 11 Sep 2007 22:20:27 +0000 (22:20 +0000)]
Fix date :)

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

17 years agoTestcase for recent pragma pack stuff
Anton Korobeynikov [Tue, 11 Sep 2007 22:12:26 +0000 (22:12 +0000)]
Testcase for recent pragma pack stuff

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

17 years agoRemove (somewhat confusing) Imp<> helper, use let Defs = [], Uses = [] instead.
Evan Cheng [Tue, 11 Sep 2007 19:55:27 +0000 (19:55 +0000)]
Remove (somewhat confusing) Imp<> helper, use let Defs = [], Uses = [] instead.

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

17 years agoAdded status flags register: EFLAGS.
Evan Cheng [Tue, 11 Sep 2007 19:53:28 +0000 (19:53 +0000)]
Added status flags register: EFLAGS.

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

17 years agoAllow set operators with multiple destinations, i.e. (set x, y, (op a, b)).
Evan Cheng [Tue, 11 Sep 2007 19:52:18 +0000 (19:52 +0000)]
Allow set operators with multiple destinations, i.e. (set x, y, (op a, b)).

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

17 years agoGenerated files for previous patch.
Dale Johannesen [Tue, 11 Sep 2007 18:33:39 +0000 (18:33 +0000)]
Generated files for previous patch.

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

17 years agoAdd APInt interfaces to APFloat (allows directly
Dale Johannesen [Tue, 11 Sep 2007 18:32:33 +0000 (18:32 +0000)]
Add APInt interfaces to APFloat (allows directly
access to bits).  Use them in place of float and
double interfaces where appropriate.
First bits of x86 long double constants handling
(untested, probably does not work).

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

17 years agoConvert to use ilist and non-pointer lists for extra goodness
Daniel Berlin [Tue, 11 Sep 2007 17:42:22 +0000 (17:42 +0000)]
Convert to use ilist and non-pointer lists for extra goodness

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

17 years agoAdd accessor method.
Bill Wendling [Tue, 11 Sep 2007 17:24:38 +0000 (17:24 +0000)]
Add accessor method.

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

17 years agoAdd a bool to indicate if we should set the "indirect encoding" bit in the Dwarf
Bill Wendling [Tue, 11 Sep 2007 17:20:55 +0000 (17:20 +0000)]
Add a bool to indicate if we should set the "indirect encoding" bit in the Dwarf
information for EH.

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

17 years agoReenable libgc and libprofile is explicitly requested.
Chris Lattner [Tue, 11 Sep 2007 17:12:32 +0000 (17:12 +0000)]
Reenable libgc and libprofile is explicitly requested.

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

17 years agoremove an obsolete library.
Chris Lattner [Tue, 11 Sep 2007 17:10:52 +0000 (17:10 +0000)]
remove an obsolete library.

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

17 years agoupdate this to use llvm-config, patch by Jose M. Moya
Chris Lattner [Tue, 11 Sep 2007 17:09:54 +0000 (17:09 +0000)]
update this to use llvm-config, patch by Jose M. Moya

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

17 years agoTest that a call to a trampoline is turned into a call to
Duncan Sands [Tue, 11 Sep 2007 15:07:50 +0000 (15:07 +0000)]
Test that a call to a trampoline is turned into a call to
the underlying nested function.

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

17 years agoTwo ParamAttrsVectors which differ by a permutation
Duncan Sands [Tue, 11 Sep 2007 14:40:04 +0000 (14:40 +0000)]
Two ParamAttrsVectors which differ by a permutation
of their elements do not yield the same ParamAttrsList,
though they should.  On the other hand, everyone seems
to pass such vectors with elements ordered by increasing
index, so rather than sorting the elements simply assert
that the elements are ordered in this way.

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

17 years agoTurn calls to trampolines into calls to the underlying
Duncan Sands [Tue, 11 Sep 2007 14:35:41 +0000 (14:35 +0000)]
Turn calls to trampolines into calls to the underlying
nested function.

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

17 years agoFold the adjust_trampoline intrinsic into
Duncan Sands [Tue, 11 Sep 2007 14:10:23 +0000 (14:10 +0000)]
Fold the adjust_trampoline intrinsic into
init_trampoline.  There is now only one
trampoline intrinsic.

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

17 years agoMy compiler warns about the semicolon.
Duncan Sands [Tue, 11 Sep 2007 12:30:25 +0000 (12:30 +0000)]
My compiler warns about the semicolon.

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

17 years agoThe personality function on Darwin needs a global stub. We then refer to
Bill Wendling [Tue, 11 Sep 2007 08:27:17 +0000 (08:27 +0000)]
The personality function on Darwin needs a global stub. We then refer to
that global stub instead of doing the ".set" thingy we were doing before.

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

17 years agoAdd a ValueInfoT template parameter to DenseMap so that it can properly make decisions
Owen Anderson [Tue, 11 Sep 2007 05:08:05 +0000 (05:08 +0000)]
Add a ValueInfoT template parameter to DenseMap so that it can properly make decisions
based on whether the key AND the value require ctors/dtors.

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

17 years agoDon't bother to initialize values corresponding to empty or tombstone
Owen Anderson [Tue, 11 Sep 2007 04:43:51 +0000 (04:43 +0000)]
Don't bother to initialize values corresponding to empty or tombstone
keys.

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

17 years agoFix a typo in memdep, which was causing PR1648.
Owen Anderson [Tue, 11 Sep 2007 04:31:00 +0000 (04:31 +0000)]
Fix a typo in memdep, which was causing PR1648.

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

17 years agoFix bugs with &=, intersect with complement. Add three argument version of intersect...
Daniel Berlin [Tue, 11 Sep 2007 04:11:28 +0000 (04:11 +0000)]
Fix bugs with &=, intersect with complement. Add three argument version of intersect with complement.

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

17 years agoFix non-deterministic behavior in the DenseMap copy constructor.
Owen Anderson [Tue, 11 Sep 2007 03:48:08 +0000 (03:48 +0000)]
Fix non-deterministic behavior in the DenseMap copy constructor.

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

17 years agoAdd remaining functions necessary for andersen's
Daniel Berlin [Tue, 11 Sep 2007 01:38:07 +0000 (01:38 +0000)]
Add remaining functions necessary for andersen's

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

17 years agoAvoid negative logic.
Devang Patel [Tue, 11 Sep 2007 01:10:45 +0000 (01:10 +0000)]
Avoid negative logic.

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

17 years agoRefactor code into a separate method.
Devang Patel [Tue, 11 Sep 2007 00:42:56 +0000 (00:42 +0000)]
Refactor code into a separate method.

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

17 years agoTestcase for PR1634
Chris Lattner [Tue, 11 Sep 2007 00:39:43 +0000 (00:39 +0000)]
Testcase for PR1634

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

17 years agoClear split info object.
Devang Patel [Tue, 11 Sep 2007 00:23:56 +0000 (00:23 +0000)]
Clear split info object.

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

17 years agoSplit condition does not have to be ICmpInst in all cases.
Devang Patel [Tue, 11 Sep 2007 00:12:56 +0000 (00:12 +0000)]
Split condition does not have to be ICmpInst in all cases.

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

17 years agoCheck all terminators inside loop.
Devang Patel [Mon, 10 Sep 2007 23:57:58 +0000 (23:57 +0000)]
Check all terminators inside loop.

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

17 years agoremove obsolete testcase
Chris Lattner [Mon, 10 Sep 2007 23:51:41 +0000 (23:51 +0000)]
remove obsolete testcase

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

17 years agoremove some dead code, this is handled by constant folding.
Chris Lattner [Mon, 10 Sep 2007 23:46:29 +0000 (23:46 +0000)]
remove some dead code, this is handled by constant folding.

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

17 years agoFix a buggy constant folding transformation when handling aliases.
Chris Lattner [Mon, 10 Sep 2007 23:42:42 +0000 (23:42 +0000)]
Fix a buggy constant folding transformation when handling aliases.

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

17 years agoSwap exit condition operands if it works.
Devang Patel [Mon, 10 Sep 2007 23:34:06 +0000 (23:34 +0000)]
Swap exit condition operands if it works.

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

17 years agoregenerate
Chris Lattner [Mon, 10 Sep 2007 23:24:14 +0000 (23:24 +0000)]
regenerate

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

17 years agoFix PR1645 by resolving forward alias references.
Chris Lattner [Mon, 10 Sep 2007 23:23:53 +0000 (23:23 +0000)]
Fix PR1645 by resolving forward alias references.

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

17 years agoAdd missing llvm-dis.
Dale Johannesen [Mon, 10 Sep 2007 22:47:59 +0000 (22:47 +0000)]
Add missing llvm-dis.

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

17 years ago80 col.
Evan Cheng [Mon, 10 Sep 2007 22:22:23 +0000 (22:22 +0000)]
80 col.

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

17 years agoNew entry.
Evan Cheng [Mon, 10 Sep 2007 22:16:37 +0000 (22:16 +0000)]
New entry.

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

17 years agoObservation of rematerialization.
Evan Cheng [Mon, 10 Sep 2007 22:11:18 +0000 (22:11 +0000)]
Observation of rematerialization.

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

17 years agoAdd some notes about better flag handling.
Chris Lattner [Mon, 10 Sep 2007 21:43:18 +0000 (21:43 +0000)]
Add some notes about better flag handling.

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

17 years agoEmit:
Chris Lattner [Mon, 10 Sep 2007 21:39:07 +0000 (21:39 +0000)]
Emit:

        cmpl    %eax, %ecx
        setae   %al
        movzbl  %al, %eax

instead of:

        cmpl    %eax, %ecx
        setb    %al
        xorb    $1, %al
        movzbl  %al, %eax

when using logical not of a C comparison.

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

17 years agothis is not infinite recursion.
Chris Lattner [Mon, 10 Sep 2007 21:16:23 +0000 (21:16 +0000)]
this is not infinite recursion.

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

17 years ago1. Don't call Value::getName(), which is slow.
Chris Lattner [Mon, 10 Sep 2007 21:15:22 +0000 (21:15 +0000)]
1. Don't call Value::getName(), which is slow.
2. Lower calls to fabs and friends to FABS nodes etc unless the function has
   internal linkage.  Before we wouldn't lower if it had a definition, which
   is incorrect.  This allows us to compile:

define double @fabs(double %f) {
        %tmp2 = tail call double @fabs( double %f )
        ret double %tmp2
}

into:

_fabs:
        fabs f1, f1
        blr

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

17 years agoPrevent tailcallelim from breaking "recursive" calls to builtins.
Chris Lattner [Mon, 10 Sep 2007 20:58:55 +0000 (20:58 +0000)]
Prevent tailcallelim from breaking "recursive" calls to builtins.

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

17 years agoIt's not safe to rematerialize MOV32r0 etc. by simply cloning the original
Evan Cheng [Mon, 10 Sep 2007 20:48:53 +0000 (20:48 +0000)]
It's not safe to rematerialize MOV32r0 etc. by simply cloning the original
instruction. These are implemented with xor which will modify the conditional
code. They should be rematerialized as move instructions.

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

17 years agoFilter exit conditions which are not yet handled.
Devang Patel [Mon, 10 Sep 2007 18:33:42 +0000 (18:33 +0000)]
Filter exit conditions which are not yet handled.

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

17 years agoNew test.
Devang Patel [Mon, 10 Sep 2007 18:12:52 +0000 (18:12 +0000)]
New test.

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

17 years agoRequire SCEV before LCSSA.
Devang Patel [Mon, 10 Sep 2007 18:08:23 +0000 (18:08 +0000)]
Require SCEV before LCSSA.

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

17 years agoRemove an un-needed dependence query. This improves compile time marginally on 401...
Owen Anderson [Sun, 9 Sep 2007 21:43:49 +0000 (21:43 +0000)]
Remove an un-needed dependence query.  This improves compile time marginally on 401.bzip2.

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

17 years agoAdd SparseBitVector implementation
Daniel Berlin [Sun, 9 Sep 2007 01:10:40 +0000 (01:10 +0000)]
Add SparseBitVector implementation

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

17 years agoTurn GVN on by default.
Owen Anderson [Sat, 8 Sep 2007 22:23:52 +0000 (22:23 +0000)]
Turn GVN on by default.

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

17 years agoImplement misaligned FP loads and stores.
Dale Johannesen [Sat, 8 Sep 2007 19:29:23 +0000 (19:29 +0000)]
Implement misaligned FP loads and stores.

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

17 years agoFix description of the call instruction. There are two types, with one being
Nick Lewycky [Sat, 8 Sep 2007 13:57:50 +0000 (13:57 +0000)]
Fix description of the call instruction. There are two types, with one being
optional.

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

17 years agoFix for VisualStudio. It is treating a 2 bit enum as a signed int for comparison...
Chuck Rose III [Sat, 8 Sep 2007 04:17:08 +0000 (04:17 +0000)]
Fix for VisualStudio.  It is treating a 2 bit enum as a signed int for comparison purposes, causing failures.  Using an extra bit fixes it.

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