Anton Korobeynikov [Sat, 22 Mar 2008 08:36:14 +0000 (08:36 +0000)]
Aliasing chains cleanups: update langref, add check into verifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48685
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 22 Mar 2008 08:17:17 +0000 (08:17 +0000)]
Support chained aliases for LLVM IR printing. This fixes PR2145
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48684
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 22 Mar 2008 07:53:40 +0000 (07:53 +0000)]
Another comments fixing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48683
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 22 Mar 2008 07:48:40 +0000 (07:48 +0000)]
Slightly increase default set size. It's cheap and won't hurt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48682
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 22 Mar 2008 07:48:08 +0000 (07:48 +0000)]
Typo fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48681
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 22 Mar 2008 05:37:16 +0000 (05:37 +0000)]
implement an initial hack at a straight-line store -> memset optimization.
This fires dozens of times across spec and multisource, but I don't know
if it actually speeds stuff up. Hopefully the testers will show something
nice :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48680
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 22 Mar 2008 04:13:49 +0000 (04:13 +0000)]
implement the logic for memset insertion and store deletion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48679
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sat, 22 Mar 2008 02:59:54 +0000 (02:59 +0000)]
Add a comment, and fix a bug where AllocateRW recurred to AllocateRWX instead of itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48677
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sat, 22 Mar 2008 02:33:53 +0000 (02:33 +0000)]
Add an AllocateRW to match AllocateRWX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48676
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 22 Mar 2008 01:55:50 +0000 (01:55 +0000)]
Teach DAG combiner to commute commutable binary nodes in order to achieve sdisel CSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48673
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 22 Mar 2008 00:31:52 +0000 (00:31 +0000)]
This is a partially implemented and currently disabled start of a store
merging optimization. Nothing to see here, hopefully more later :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48670
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 21 Mar 2008 23:51:57 +0000 (23:51 +0000)]
Don't include <map> in Pass.h, which doesn't need it. This requires
adding <map> to many files that actually do need it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48667
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 21 Mar 2008 23:44:21 +0000 (23:44 +0000)]
Avoid calling array_endof in a static initializer, as it incurs
dynamic initialization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48666
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 21 Mar 2008 23:38:23 +0000 (23:38 +0000)]
Specialize FORCE_DEFINING_FILE_TO_BE_LINKED using a GCC trick
to avoid using constructor calls for static objects. This reduces
the number of objects requiring static constructors in a typical
LLVM build by around 20%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48665
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 21 Mar 2008 22:51:06 +0000 (22:51 +0000)]
Fix -view-sunit-dags to support cross-rc-copy nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48664
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Fri, 21 Mar 2008 22:17:07 +0000 (22:17 +0000)]
a happier version of happiness
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48663
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Mar 2008 22:01:16 +0000 (22:01 +0000)]
the size of a smallvector shouldn't be part of the interface to these methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48662
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Mar 2008 21:33:23 +0000 (21:33 +0000)]
make gvn marginally faster by reallocating the lastSeenLoad map for
each basic block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48660
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Mar 2008 21:14:38 +0000 (21:14 +0000)]
Minor cleanups and shrinkification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48658
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 21 Mar 2008 21:01:32 +0000 (21:01 +0000)]
Handle getresult instructions in different basic blocks
from their aggregate operands by moving the getresult
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48657
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Mar 2008 20:41:27 +0000 (20:41 +0000)]
Restore this assert now that the livevar bug is fixed.
This verifies kill info for "ret" fp operands is right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48656
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 21 Mar 2008 20:22:11 +0000 (20:22 +0000)]
Testcase for PR2160.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48655
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 21 Mar 2008 19:09:30 +0000 (19:09 +0000)]
A couple of kill marker maintainence bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48653
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Mar 2008 17:24:17 +0000 (17:24 +0000)]
clean up and fix the call section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48651
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Mar 2008 17:20:51 +0000 (17:20 +0000)]
cleanups for the getresult section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48650
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 21 Mar 2008 16:46:53 +0000 (16:46 +0000)]
FunctionExtractorPass has been superceded by GVExtractorPass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48648
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 21 Mar 2008 15:53:17 +0000 (15:53 +0000)]
Make it possible to get an empty struct using
the new StructType::get method. The second NULL
is to pacify the gcc warning mechanism. This
patch compiles but is otherwise untested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48645
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 21 Mar 2008 09:14:45 +0000 (09:14 +0000)]
Introduce a new node for holding call argument
flags. This is needed by the new legalize types
infrastructure which wants to expand the 64 bit
constants previously used to hold the flags on
32 bit machines. There are two functional changes:
(1) in LowerArguments, if a parameter has the zext
attribute set then that is marked in the flags;
before it was being ignored; (2) PPC had some bogus
code for handling two word arguments when using the
ELF 32 ABI, which was hard to convert because of
the bogusness. As suggested by the original author
(Nicolas Geoffray), I've disabled it for the moment.
Tested with "make check" and the Ada ACATS testsuite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48640
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 21 Mar 2008 08:32:17 +0000 (08:32 +0000)]
Fix the build for gcc-4.2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48639
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Mar 2008 06:50:21 +0000 (06:50 +0000)]
remove Evan's "ugly hack" that sorta attempted to get
x86-64 return conventions correct, but was never enabled.
We can now do the "right thing" with multiple return values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48635
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Mar 2008 06:38:26 +0000 (06:38 +0000)]
Add support for calls that return two FP values in
ST(0)/ST(1).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48634
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Mar 2008 06:01:05 +0000 (06:01 +0000)]
disable a bogus assertion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48633
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Mar 2008 05:57:20 +0000 (05:57 +0000)]
Enable support for returning two long-double values in ST(0)/ST(1).
This allows us to compile fp-stack-2results.ll into:
_test:
fldz
fld1
ret
which returns 1 in ST(0) and 0 in ST(1). This is needed for x86-64
_Complex long double.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48632
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Mar 2008 05:19:58 +0000 (05:19 +0000)]
Teach masked value is zero about add and sub, and use MVIZ to
simplify things like (X & 4) >> 1 == 2 --> (X & 4) == 4.
since it is obvious that the shift doesn't remove any bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48631
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 21 Mar 2008 00:40:09 +0000 (00:40 +0000)]
Undo 48570. Correctly match mmx shift instructions with an immediate operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48627
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Fri, 21 Mar 2008 00:10:42 +0000 (00:10 +0000)]
ignore the Output/ directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48626
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Fri, 21 Mar 2008 00:03:49 +0000 (00:03 +0000)]
this directory is accidentally added
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48625
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 20 Mar 2008 23:27:18 +0000 (23:27 +0000)]
These passes preserve CFG.
This patch fixes Benchmarks/Trimaran/enc-pc1/enc-pc1 failure reported by Grawp-PIC i386 nightly tester
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48623
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 20 Mar 2008 18:30:32 +0000 (18:30 +0000)]
Incorporate feedback.
- Fix loop nest.
- Use RetVals.size()
- Check for null return value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48605
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Thu, 20 Mar 2008 17:16:03 +0000 (17:16 +0000)]
C and Objective Caml bindings for mem2reg and reg2mem.
Patch by Erick Tryzelaar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48602
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 20 Mar 2008 15:36:44 +0000 (15:36 +0000)]
enable -analyze for andersens
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48601
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Thu, 20 Mar 2008 08:05:05 +0000 (08:05 +0000)]
Take the old function's name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48588
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 20 Mar 2008 06:19:51 +0000 (06:19 +0000)]
ubyte and sbyte? what are those?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48585
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 20 Mar 2008 04:46:13 +0000 (04:46 +0000)]
add a note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48583
91177308-0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Thu, 20 Mar 2008 04:31:39 +0000 (04:31 +0000)]
Check even more carefully before applying this DAGCombine transform.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48580
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 20 Mar 2008 02:25:21 +0000 (02:25 +0000)]
Restore isCFGOnly property of various analysis passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48579
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 20 Mar 2008 02:18:41 +0000 (02:18 +0000)]
Fix this xform: (sra (shl X, m), result_size) -> (sign_extend (trunc (shl X, result_size - n - m)))
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48578
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 20 Mar 2008 01:22:40 +0000 (01:22 +0000)]
detabify llvm, patch by Mike Stump!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48577
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 20 Mar 2008 01:09:53 +0000 (01:09 +0000)]
Keep track of analysis information inherited from Module pass manager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48576
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Thu, 20 Mar 2008 00:51:36 +0000 (00:51 +0000)]
Add more patterns to match in the integer comparison test harnesses.
Fix bugs encountered, mostly due to range matching for immediates;
the CellSPU's 10-bit immediates are sign extended, covering a
larger range of unsigned values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48575
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 20 Mar 2008 00:20:23 +0000 (00:20 +0000)]
80 col violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48573
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 19 Mar 2008 23:38:52 +0000 (23:38 +0000)]
Add intrinsics to match mmx shift builtin's with immediate operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48569
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 19 Mar 2008 23:05:52 +0000 (23:05 +0000)]
Add comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48567
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 19 Mar 2008 22:32:43 +0000 (22:32 +0000)]
style and spelling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48562
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 19 Mar 2008 22:24:25 +0000 (22:24 +0000)]
#if 1 .. #endif markers do not add any value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48560
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 19 Mar 2008 22:02:26 +0000 (22:02 +0000)]
Remove dead options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48556
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 19 Mar 2008 21:56:59 +0000 (21:56 +0000)]
PassInfo keep tracks whether a pass is an analysis pass or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48554
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 19 Mar 2008 21:39:28 +0000 (21:39 +0000)]
Add support for multiple return values for the PPC target by
converting call result lowering to use the CallingConvLowering
infastructure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48552
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 19 Mar 2008 20:49:51 +0000 (20:49 +0000)]
llvm-ld deserves disable-verify too. opt shouldn't have all the fun options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48550
91177308-0d34-0410-b5e6-
96231b3b80d8
Arnold Schwaighofer [Wed, 19 Mar 2008 16:39:45 +0000 (16:39 +0000)]
Don't loose incoming argument registers. Fix documentation style.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48545
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 19 Mar 2008 10:59:59 +0000 (10:59 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48543
91177308-0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Wed, 19 Mar 2008 08:30:06 +0000 (08:30 +0000)]
Fix X86's isTruncateFree to not claim that truncate to i1 is free. This fixes Bill's testcase that failed for r48491.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48542
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 19 Mar 2008 07:28:33 +0000 (07:28 +0000)]
Upgrade tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48538
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 19 Mar 2008 05:39:35 +0000 (05:39 +0000)]
Upgrade tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48536
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 19 Mar 2008 05:06:05 +0000 (05:06 +0000)]
add some convenience methods for creating GEP instructions and
struct types. Patch by David Chisnall, with some tweaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48531
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 19 Mar 2008 04:36:04 +0000 (04:36 +0000)]
Upgrade tests to not use llvm-upgrade.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48530
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 19 Mar 2008 04:14:49 +0000 (04:14 +0000)]
Upgrade tests to not use llvm-upgrade.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48529
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Wed, 19 Mar 2008 03:47:18 +0000 (03:47 +0000)]
C bindings for Module-, Function-, and BasicBlock::iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48528
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 19 Mar 2008 03:47:13 +0000 (03:47 +0000)]
Remove llvm-upgrade and update tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48527
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 19 Mar 2008 02:26:36 +0000 (02:26 +0000)]
Fixed a coalescer bug caused by a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48526
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Wed, 19 Mar 2008 01:11:35 +0000 (01:11 +0000)]
C and Objective Caml bindings for the various getParent methods of the IR.
Based on Erick Tryzelaar's patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48523
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 19 Mar 2008 00:52:20 +0000 (00:52 +0000)]
Fix live variables issues:
1. If part of a register is re-defined, an implicit kill and an implicit def are added to denote read / mod / write. However, this should only be necessary if the register is actually read later. This is a performance issue.
2. If a sub-register is being defined, and it doesn't have a previous use, do not add a implicit kill to the last use of a super-register:
= EAX, AX<imp-use,kill>
...
AX =
In this case, EAX is live but AX is killed, this is wrong and will cause the coalescer to do bad things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48521
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 19 Mar 2008 00:48:41 +0000 (00:48 +0000)]
Do not use virtual function to identify an analysis pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48520
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Mar 2008 23:38:12 +0000 (23:38 +0000)]
On Darwin, GCC issues a ".globl" for something that has a "visibility protected"
attribute instead of ".protected".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48516
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 18 Mar 2008 23:36:35 +0000 (23:36 +0000)]
Fix a x86-64 isel lowering bug that's been around forever. A x86-64 varargs function implicitly reads X86::AL, don't clobber it!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48515
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Tue, 18 Mar 2008 23:13:26 +0000 (23:13 +0000)]
Note that gcc 4.0.1 will trip internal LLVM asserts (e.g., pred_iterator) if compiling
for Release with optimization levels greater than -O0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48513
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Mar 2008 22:38:22 +0000 (22:38 +0000)]
It might be nice to have this run as x86 on non-x86 platforms...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48511
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Mar 2008 22:29:51 +0000 (22:29 +0000)]
Temporarily revert r48491. It's breaking test/CodeGen/X86/xorl.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48510
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Berlin [Tue, 18 Mar 2008 22:22:53 +0000 (22:22 +0000)]
Fix PR 2160 by making sure arguments to external functions get marked as pointing to anything
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48509
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 18 Mar 2008 19:59:04 +0000 (19:59 +0000)]
Do not pass -g flag when compiling tests, so remove the C.Flags. This only happens if you have a debug build of llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48498
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 18 Mar 2008 17:28:38 +0000 (17:28 +0000)]
Make conversions of i8/i16 to ppcf128 work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48493
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Tue, 18 Mar 2008 16:55:06 +0000 (16:55 +0000)]
Dial down gcc's warnings: don't use 0UL when 0U suffices (and when the
variables and methods themselves only use unsigned.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48492
91177308-0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Tue, 18 Mar 2008 16:46:39 +0000 (16:46 +0000)]
Target independent DAG transform to use truncate for field extraction + sign extend on targets where this is profitable. Passes nightly on x86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48491
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 18 Mar 2008 08:26:47 +0000 (08:26 +0000)]
Rewrite code that propagate isDead information after a dead copy is coalesced. This remove some ugly spaghetti code and fixed a number of subtle bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48490
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 18 Mar 2008 04:14:37 +0000 (04:14 +0000)]
Upgrade tests to not use llvm-upgrade.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48484
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 18 Mar 2008 03:45:45 +0000 (03:45 +0000)]
Upgrade tests to not use llvm-upgrade.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48483
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 18 Mar 2008 01:52:17 +0000 (01:52 +0000)]
Get rid of compilation warnings. Per Devang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48478
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 18 Mar 2008 00:39:19 +0000 (00:39 +0000)]
Identify Analysis pass.
Do not run analysis pass again if analysis info is still available.
This fixes PR1441.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48476
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 17 Mar 2008 23:41:20 +0000 (23:41 +0000)]
Update heuritics that estimates cost of call instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48474
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Mon, 17 Mar 2008 17:11:08 +0000 (17:11 +0000)]
Make Complex long long/double/long double work
in ppc64 mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48459
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 17 Mar 2008 12:17:41 +0000 (12:17 +0000)]
Clarify the unwind attribute. Add assumption
about sret made by the optimizers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48452
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 17 Mar 2008 07:49:23 +0000 (07:49 +0000)]
Fix for "make install" of ocaml docs. Patch by Erick Tryzelaar!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48451
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 17 Mar 2008 07:26:14 +0000 (07:26 +0000)]
Add support for escaping {} in asm strings, based on patch from Nick Burns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48450
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Mar 2008 06:58:37 +0000 (06:58 +0000)]
Check in some #ifdef'd out code switching call argument
lowering over to SparcCallingConv.td. We can't make the switch
yet because we can't say to pass f64 registers in 2 x i32 registers
with the td file yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48449
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Mar 2008 06:57:02 +0000 (06:57 +0000)]
minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48448
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 17 Mar 2008 06:56:52 +0000 (06:56 +0000)]
Unbreak JIT. Ignore TargetInstrInfo::IMPLICIT_DEF.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48447
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 17 Mar 2008 06:08:26 +0000 (06:08 +0000)]
A first attempt at updating live intervals, with code lifted from
the coalescer. This doesn't really work, but gets us farther than
before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48446
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Mar 2008 06:04:10 +0000 (06:04 +0000)]
remove dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48445
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Mar 2008 06:01:07 +0000 (06:01 +0000)]
Switch sparc from using LowerCallTo to using LowerOperation(CALL) like
other targets. Use autogenerated calling conv to lower result of
calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48444
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Mar 2008 05:41:48 +0000 (05:41 +0000)]
Start moving sparc to use SparcCallingConv.td, switching over
return lowering first. This fixes a bug where the top and bottom
of i64 values were returned in the wrong registers before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48443
91177308-0d34-0410-b5e6-
96231b3b80d8