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
Christopher Lamb [Thu, 13 Mar 2008 05:47:01 +0000 (05:47 +0000)]
Get rid of a pseudo instruction and replace it with subreg based operation on real instructions, ridding the asm printers of the hack used to do this previously. In the process, update LowerSubregs to be careful about eliminating copies that have side affects.
Note: the coalescer will have to be careful about this too, when it starts coalescing insert_subreg nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48329
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Mar 2008 05:22:05 +0000 (05:22 +0000)]
Fix Path::GetMainExecutable on cygwin, patch by Sam Bishop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48328
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Mar 2008 05:17:59 +0000 (05:17 +0000)]
remove extraneous namespace qualifier, PR2142
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48327
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Mar 2008 05:00:21 +0000 (05:00 +0000)]
move a bunch of trivial methods to be inline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48326
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Mar 2008 04:33:03 +0000 (04:33 +0000)]
Various improvements suggested by Duncan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48325
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Mar 2008 03:29:42 +0000 (03:29 +0000)]
Fix an incorrect comment, PR2147.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48323
91177308-0d34-0410-b5e6-
96231b3b80d8