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
Chris Lattner [Mon, 17 Mar 2008 03:21:36 +0000 (03:21 +0000)]
split sparc lowering out into SparcISelLowering.{cpp|h} to follow
best practices.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48442
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Mar 2008 02:52:07 +0000 (02:52 +0000)]
refactor the LowerOperation code out to individual functions for
each lowering, which is 'best practice'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48441
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Mon, 17 Mar 2008 02:13:43 +0000 (02:13 +0000)]
Next round of PPC32 ABI changes. Allow for gcc
behavior where a callee thinks a param will be
present in memory, even though the ABI doc says
it doesn't have to be. Handle complex long long
and complex double (4 and 8 return regs).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48439
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Mar 2008 01:47:51 +0000 (01:47 +0000)]
various rotate fun.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48438
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Mar 2008 01:35:03 +0000 (01:35 +0000)]
ensure we continue matching x86-64 rotates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48437
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 16 Mar 2008 21:15:47 +0000 (21:15 +0000)]
__builtin_ia32_movntdqa reads memory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48431
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 16 Mar 2008 21:14:46 +0000 (21:14 +0000)]
Add a couple missing SSE4 instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48430
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sun, 16 Mar 2008 20:08:03 +0000 (20:08 +0000)]
C and Objective Caml bindings for the TargetData class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48422
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 16 Mar 2008 20:05:52 +0000 (20:05 +0000)]
Add assert for non-hexadecimal radixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48421
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sun, 16 Mar 2008 16:33:35 +0000 (16:33 +0000)]
Housekeeping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48420
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sun, 16 Mar 2008 16:32:40 +0000 (16:32 +0000)]
C and Objective Caml bindings for several scalar transforms.
Patch originally by Erick Tryzelaar, but has been modified somewhat.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48419
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sun, 16 Mar 2008 15:55:43 +0000 (15:55 +0000)]
Remove unnecessary includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48418
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 16 Mar 2008 07:55:46 +0000 (07:55 +0000)]
All of these tests had out of date syntax and were never even running through
llvm-upgrade because nobody noticed them failing.
Update to use new syntax and actually check for the right failure by looking at
the error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48417
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 16 Mar 2008 07:49:49 +0000 (07:49 +0000)]
Functions are allowed to return structures. (Note that this test never failed.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48416
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 16 Mar 2008 07:31:23 +0000 (07:31 +0000)]
Regressions/ is long gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48415
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 16 Mar 2008 07:18:12 +0000 (07:18 +0000)]
Commit works on regular functions too. Fix the syntax to allow @foo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48414
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sun, 16 Mar 2008 04:20:44 +0000 (04:20 +0000)]
C and Objective Caml bindings for PassManagers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48413
91177308-0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Sun, 16 Mar 2008 03:12:01 +0000 (03:12 +0000)]
Make insert_subreg a two-address instruction, vastly simplifying LowerSubregs pass. Add a new TII, subreg_to_reg, which is like insert_subreg except that it takes an immediate implicit value to insert into rather than a register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48412
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 15 Mar 2008 00:26:23 +0000 (00:26 +0000)]
Minor documentation fix.
Patch by Erick Tryzelaar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48382
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 15 Mar 2008 00:19:36 +0000 (00:19 +0000)]
Remove isImplicitDef TargetInstrDesc flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48381
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 15 Mar 2008 00:03:38 +0000 (00:03 +0000)]
Replace all target specific implicit def instructions with a target independent one: TargetInstrInfo::IMPLICIT_DEF.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48380
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Fri, 14 Mar 2008 23:58:56 +0000 (23:58 +0000)]
Expose Module::dump via C and Ocaml.
Patch by Erick Tryzelaar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48379
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Fri, 14 Mar 2008 23:52:53 +0000 (23:52 +0000)]
Expose Module::dump via C and Ocaml.
Patch by Erick Tryzelaar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48378
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Fri, 14 Mar 2008 22:03:02 +0000 (22:03 +0000)]
move the Use destructor where it belongs to
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48376
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Mar 2008 22:01:01 +0000 (22:01 +0000)]
Back out r48353. Not needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48375
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 14 Mar 2008 21:36:24 +0000 (21:36 +0000)]
Do not generate special entries in the dwarf eh
table for nounwind calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48373
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Mar 2008 21:17:54 +0000 (21:17 +0000)]
Restore this member, which is used on win32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48372
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Mar 2008 20:44:01 +0000 (20:44 +0000)]
Fix PR2138. Apparently any modification to a std::multimap (including remove entries for a different key) can invalidate multimap iterators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48371
91177308-0d34-0410-b5e6-
96231b3b80d8