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
Chris Lattner [Fri, 14 Mar 2008 20:41:50 +0000 (20:41 +0000)]
this was removed from the Unix side.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48370
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 14 Mar 2008 18:27:04 +0000 (18:27 +0000)]
Update comments; getPassName no longer uses RTTI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48369
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 14 Mar 2008 18:14:29 +0000 (18:14 +0000)]
Move the PMStack class out of Pass.h and into PassManagers.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48367
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 14 Mar 2008 17:41:26 +0000 (17:41 +0000)]
Implement the real calling convention for ppc32 Altivec:
vectors go at the end of the memory area, after all
non-vector parameters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48364
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Mar 2008 07:46:48 +0000 (07:46 +0000)]
Fix some 80 col violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48361
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Mar 2008 07:39:27 +0000 (07:39 +0000)]
Fix a number of encoding bugs. SSE 4.1 instructions MPSADBWrri, PINSRDrr, etc. have 8-bits immediate field (ImmT == Imm8).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48360
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Mar 2008 07:13:42 +0000 (07:13 +0000)]
Add debugging stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48359
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Mar 2008 06:00:19 +0000 (06:00 +0000)]
Add an issue that is preventing instcombine from doing a simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48356
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 14 Mar 2008 05:23:57 +0000 (05:23 +0000)]
Simplify using getIntPtrConstant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48355
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 14 Mar 2008 05:12:19 +0000 (05:12 +0000)]
The inst combining of inttoptr into GEP with one index was using the bit size of
the type instead of the byte size. This was causing troublesome mis-compilations.
True to form, this took 2 days to find and is a one-line fix. :-P
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48354
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Mar 2008 01:47:49 +0000 (01:47 +0000)]
Add an MO_Undef MachineOperandType, intended for INSERT_SUBREG. Next up MO_Undead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48353
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 14 Mar 2008 00:53:31 +0000 (00:53 +0000)]
Tabs -> spaces
Use getIntPtrConstant in a couple places to shorten stuff up
Handle splitting vector shuffles with undefs in the mask
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48351
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Mar 2008 00:17:29 +0000 (00:17 +0000)]
Forgot this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48349
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Mar 2008 00:14:55 +0000 (00:14 +0000)]
Livein copy scheduling fixes: do not coalesce physical register copies, correctly determine the safe location to insert the copies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48348
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 13 Mar 2008 23:07:40 +0000 (23:07 +0000)]
Use SDTNone instead of duplicating it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48346
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 13 Mar 2008 23:04:27 +0000 (23:04 +0000)]
Fix a typo in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48345
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 13 Mar 2008 22:13:53 +0000 (22:13 +0000)]
More APInt-ification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48344
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 13 Mar 2008 22:07:10 +0000 (22:07 +0000)]
Fix a bug in GVN that Duncan noticed, where we potentially need to insert a
pointer bitcast when performing return slot optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48343
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Thu, 13 Mar 2008 22:02:51 +0000 (22:02 +0000)]
Fix error in testing for END. notation.
Patch by Julien Lerouge. Thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48342
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 13 Mar 2008 17:42:48 +0000 (17:42 +0000)]
Undo tweak. It had no obvious benefit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48341
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 13 Mar 2008 16:55:34 +0000 (16:55 +0000)]
Remove unused GetAddressOfSymbol()
Thanks Daniel Dunbar!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48340
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 13 Mar 2008 08:05:02 +0000 (08:05 +0000)]
New test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48338
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 13 Mar 2008 08:04:35 +0000 (08:04 +0000)]
Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48337
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 13 Mar 2008 07:56:58 +0000 (07:56 +0000)]
Don't try to sink 3-address instruction if convertToThreeAddress created more than one instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48336
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 13 Mar 2008 06:42:46 +0000 (06:42 +0000)]
A test case I forgot to check in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48335
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 13 Mar 2008 06:38:28 +0000 (06:38 +0000)]
Remove an unused command line option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48334
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 13 Mar 2008 06:37:55 +0000 (06:37 +0000)]
TwoAddressInstructionPass enhancement. After it converts a two address instruction into a 3-address one, sink it past the instruction that kills the read-mod-write register if its definition is used past the kill. This reduces the number of live register by one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48333
91177308-0d34-0410-b5e6-
96231b3b80d8