oota-llvm.git
16 years agoUndo 48570. Correctly match mmx shift instructions with an immediate operand.
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

16 years agoignore the Output/ directory
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

16 years agothis directory is accidentally added
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

16 years agoThese passes preserve CFG.
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

16 years agoIncorporate feedback.
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

16 years agoC and Objective Caml bindings for mem2reg and reg2mem.
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

16 years agoenable -analyze for andersens
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

16 years agoTake the old function's name.
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

16 years agoubyte and sbyte? what are those?
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

16 years agoadd a note.
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

16 years agoCheck even more carefully before applying this DAGCombine transform.
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

16 years agoRestore isCFGOnly property of various analysis passes.
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

16 years agoFix this xform: (sra (shl X, m), result_size) -> (sign_extend (trunc (shl X, result_s...
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

16 years agodetabify llvm, patch by Mike Stump!
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

16 years agoKeep track of analysis information inherited from Module pass manager.
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

16 years agoAdd more patterns to match in the integer comparison test harnesses.
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

16 years ago80 col violation.
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

16 years agoAdd intrinsics to match mmx shift builtin's with immediate operand.
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

16 years agoAdd comment.
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

16 years agostyle and spelling
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

16 years ago#if 1 .. #endif markers do not add any value.
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

16 years agoRemove dead options.
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

16 years agoPassInfo keep tracks whether a pass is an analysis pass or not.
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

16 years agoAdd support for multiple return values for the PPC target by
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

16 years agollvm-ld deserves disable-verify too. opt shouldn't have all the fun options.
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

16 years agoDon't loose incoming argument registers. Fix documentation style.
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

16 years agoFix comment.
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

16 years agoFix X86's isTruncateFree to not claim that truncate to i1 is free. This fixes Bill...
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

16 years agoUpgrade tests.
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

16 years agoUpgrade tests.
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

16 years agoadd some convenience methods for creating GEP instructions and
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

16 years agoUpgrade tests to not use llvm-upgrade.
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

16 years agoUpgrade tests to not use llvm-upgrade.
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

16 years agoC bindings for Module-, Function-, and BasicBlock::iterator.
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

16 years agoRemove llvm-upgrade and update tests.
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

16 years agoFixed a coalescer bug caused by a typo.
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

16 years agoC and Objective Caml bindings for the various getParent methods of the IR.
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

16 years agoFix live variables issues:
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

16 years agoDo not use virtual function to identify an analysis pass.
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

16 years agoOn Darwin, GCC issues a ".globl" for something that has a "visibility protected"
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

16 years agoFix a x86-64 isel lowering bug that's been around forever. A x86-64 varargs function...
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

16 years agoNote that gcc 4.0.1 will trip internal LLVM asserts (e.g., pred_iterator) if compiling
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

16 years agoIt might be nice to have this run as x86 on non-x86 platforms...
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

16 years agoTemporarily revert r48491. It's breaking test/CodeGen/X86/xorl.ll.
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

16 years agoFix PR 2160 by making sure arguments to external functions get marked as pointing...
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

16 years agoDo not pass -g flag when compiling tests, so remove the C.Flags. This only happens...
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

16 years agoMake conversions of i8/i16 to ppcf128 work.
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

16 years agoDial down gcc's warnings: don't use 0UL when 0U suffices (and when the
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

16 years agoTarget independent DAG transform to use truncate for field extraction + sign extend...
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

16 years agoRewrite code that propagate isDead information after a dead copy is coalesced. This...
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

16 years agoUpgrade tests to not use llvm-upgrade.
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

16 years agoUpgrade tests to not use llvm-upgrade.
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

16 years agoGet rid of compilation warnings. Per Devang.
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

16 years agoIdentify Analysis pass.
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

16 years agoUpdate heuritics that estimates cost of call instructions.
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

16 years agoMake Complex long long/double/long double work
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

16 years agoClarify the unwind attribute. Add assumption
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

16 years agoFix for "make install" of ocaml docs. Patch by Erick Tryzelaar!
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

16 years agoAdd support for escaping {} in asm strings, based on patch from Nick Burns.
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

16 years agoCheck in some #ifdef'd out code switching call argument
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

16 years agominor cleanups
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

16 years agoUnbreak JIT. Ignore TargetInstrInfo::IMPLICIT_DEF.
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

16 years agoA first attempt at updating live intervals, with code lifted from
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

16 years agoremove dead code
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

16 years agoSwitch sparc from using LowerCallTo to using LowerOperation(CALL) like
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

16 years agoStart moving sparc to use SparcCallingConv.td, switching over
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

16 years agosplit sparc lowering out into SparcISelLowering.{cpp|h} to follow
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

16 years agorefactor the LowerOperation code out to individual functions for
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

16 years agoNext round of PPC32 ABI changes. Allow for gcc
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

16 years agovarious rotate fun.
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

16 years agoensure we continue matching x86-64 rotates.
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

16 years ago__builtin_ia32_movntdqa reads memory
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

16 years agoAdd a couple missing SSE4 instructions
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

16 years agoC and Objective Caml bindings for the TargetData class.
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

16 years agoAdd assert for non-hexadecimal radixes.
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

16 years agoHousekeeping.
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

16 years agoC and Objective Caml bindings for several scalar transforms.
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

16 years agoRemove unnecessary includes.
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

16 years agoAll of these tests had out of date syntax and were never even running through
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

16 years agoFunctions are allowed to return structures. (Note that this test never failed.)
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

16 years agoRegressions/ is long gone.
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

16 years agoCommit works on regular functions too. Fix the syntax to allow @foo.
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

16 years agoC and Objective Caml bindings for PassManagers.
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

16 years agoMake insert_subreg a two-address instruction, vastly simplifying LowerSubregs pass...
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

16 years agoMinor documentation fix.
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

16 years agoRemove isImplicitDef TargetInstrDesc flag.
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

16 years agoReplace all target specific implicit def instructions with a target independent one...
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

16 years agoExpose Module::dump via C and Ocaml.
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

16 years agoExpose Module::dump via C and Ocaml.
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

16 years agomove the Use destructor where it belongs to
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

16 years agoBack out r48353. Not needed.
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

16 years agoDo not generate special entries in the dwarf eh
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

16 years agoRestore this member, which is used on win32.
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

16 years agoFix PR2138. Apparently any modification to a std::multimap (including remove entries...
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

16 years agothis was removed from the Unix side.
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

16 years agoUpdate comments; getPassName no longer uses RTTI.
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

16 years agoMove the PMStack class out of Pass.h and into PassManagers.h.
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

16 years agoImplement the real calling convention for ppc32 Altivec:
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

16 years agoFix some 80 col violations.
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

16 years agoFix a number of encoding bugs. SSE 4.1 instructions MPSADBWrri, PINSRDrr, etc. have...
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