oota-llvm.git
16 years agoRemat of pic loads are now on by default.
Evan Cheng [Sat, 23 Feb 2008 02:08:30 +0000 (02:08 +0000)]
Remat of pic loads are now on by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47525 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTurning on remat of pic loads.
Evan Cheng [Sat, 23 Feb 2008 02:07:42 +0000 (02:07 +0000)]
Turning on remat of pic loads.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47524 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a bug that caused opt and other tools to silently ignore
Dan Gohman [Sat, 23 Feb 2008 01:55:25 +0000 (01:55 +0000)]
Fix a bug that caused opt and other tools to silently ignore
invalid command-line options.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47523 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNo need recognize load from a fixed argument slot as re-materializable. LiveIntervalA...
Evan Cheng [Sat, 23 Feb 2008 01:47:44 +0000 (01:47 +0000)]
No need recognize load from a fixed argument slot as re-materializable. LiveIntervalAnalysis already handles it as a special case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47522 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoProperly read and write bitcodes for multiple return values.
Devang Patel [Sat, 23 Feb 2008 01:44:55 +0000 (01:44 +0000)]
Properly read and write bitcodes for multiple return values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47521 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRecognize loads of arguments as re-materializable first. Therefore if isReallyTrivial...
Evan Cheng [Sat, 23 Feb 2008 01:44:27 +0000 (01:44 +0000)]
Recognize loads of arguments as re-materializable first. Therefore if isReallyTriviallyReMaterializable() returns true it doesn't confuse it as a "normal" re-materializable instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47520 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRegenerate.
Devang Patel [Sat, 23 Feb 2008 01:17:37 +0000 (01:17 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47519 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse isa check instead of getTypeID() check.
Devang Patel [Sat, 23 Feb 2008 01:17:17 +0000 (01:17 +0000)]
Use isa check instead of getTypeID() check.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47518 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFixed buffer overflow reported by Argiris Kirtzidis.
Ted Kremenek [Sat, 23 Feb 2008 01:11:40 +0000 (01:11 +0000)]
Fixed buffer overflow reported by Argiris Kirtzidis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47517 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove unnecessary "inline" keywords.
Devang Patel [Sat, 23 Feb 2008 01:11:02 +0000 (01:11 +0000)]
Remove unnecessary "inline" keywords.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47516 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoprint getresult operand and its type directly.
Devang Patel [Sat, 23 Feb 2008 01:04:26 +0000 (01:04 +0000)]
print getresult operand and its type directly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47514 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoReally. Why doesn't every arch support MMX?
Evan Cheng [Sat, 23 Feb 2008 00:56:14 +0000 (00:56 +0000)]
Really. Why doesn't every arch support MMX?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47513 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse dyn_cast instead of isa + cast.
Devang Patel [Sat, 23 Feb 2008 00:47:00 +0000 (00:47 +0000)]
Use dyn_cast instead of isa + cast.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47511 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoForgot this.
Evan Cheng [Sat, 23 Feb 2008 00:46:11 +0000 (00:46 +0000)]
Forgot this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47510 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRegenerate
Devang Patel [Sat, 23 Feb 2008 00:38:56 +0000 (00:38 +0000)]
Regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47509 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTo support multiple return values, now ret instruction supports multiple operands...
Devang Patel [Sat, 23 Feb 2008 00:35:18 +0000 (00:35 +0000)]
To support multiple return values, now ret instruction supports multiple operands instead of one aggregate operand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47508 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix spill weight updating bug.
Evan Cheng [Sat, 23 Feb 2008 00:33:04 +0000 (00:33 +0000)]
Fix spill weight updating bug.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47507 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSplit ParameterAttributes.h, putting the complicated
Dale Johannesen [Fri, 22 Feb 2008 22:17:59 +0000 (22:17 +0000)]
Split ParameterAttributes.h, putting the complicated
stuff into ParamAttrsList.h.  Per feedback from
ParamAttrs changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47504 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImproving wording.
Gordon Henriksen [Fri, 22 Feb 2008 21:55:51 +0000 (21:55 +0000)]
Improving wording.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47503 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdding a note about IR generation to the LLVM FAQ.
Gordon Henriksen [Fri, 22 Feb 2008 20:58:29 +0000 (20:58 +0000)]
Adding a note about IR generation to the LLVM FAQ.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47502 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTest case for PR2082.
Evan Cheng [Fri, 22 Feb 2008 20:38:49 +0000 (20:38 +0000)]
Test case for PR2082.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47501 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSame isPhysRegAvailable bug as local register allocator.
Evan Cheng [Fri, 22 Feb 2008 20:31:32 +0000 (20:31 +0000)]
Same isPhysRegAvailable bug as local register allocator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47500 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoReally really bad local register allocator bug. On X86, it was never using ESI, EDI...
Evan Cheng [Fri, 22 Feb 2008 20:30:53 +0000 (20:30 +0000)]
Really really bad local register allocator bug. On X86, it was never using ESI, EDI, and EBP because of a bug in RALocal::isPhysRegAvailable(). For example, when
it checks if ESI is available, it then looks at registers aliases to ESI. SIL is marked -2 (not allocatable) but isPhysRegAvailable() incorrectly assumes it is in use and returns false for ESI.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47499 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd debugging printfs.
Evan Cheng [Fri, 22 Feb 2008 19:57:06 +0000 (19:57 +0000)]
Add debugging printfs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47496 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRegenerate
Devang Patel [Fri, 22 Feb 2008 19:31:30 +0000 (19:31 +0000)]
Regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47495 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse SymbolicValueRef to parse getresult operand
Devang Patel [Fri, 22 Feb 2008 19:31:15 +0000 (19:31 +0000)]
Use SymbolicValueRef to parse getresult operand

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47494 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove an invalid assertion now that there are implicit virtual register operands.
Evan Cheng [Fri, 22 Feb 2008 19:25:04 +0000 (19:25 +0000)]
Remove an invalid assertion now that there are implicit virtual register operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47493 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake sure reload of implicit uses are issued before remat's.
Evan Cheng [Fri, 22 Feb 2008 19:22:06 +0000 (19:22 +0000)]
Make sure reload of implicit uses are issued before remat's.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47492 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd StripDeadPrototypes pass.
Devang Patel [Fri, 22 Feb 2008 18:39:29 +0000 (18:39 +0000)]
Add StripDeadPrototypes pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47488 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoGenerated files for 47484.
Dale Johannesen [Fri, 22 Feb 2008 17:50:51 +0000 (17:50 +0000)]
Generated files for 47484.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47485 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPass alignment on ByVal parameters, from FE, all
Dale Johannesen [Fri, 22 Feb 2008 17:49:45 +0000 (17:49 +0000)]
Pass alignment on ByVal parameters, from FE, all
the way through.  It is now used for codegen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47484 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMMX vectors are passed 4-byte aligned.
Dale Johannesen [Fri, 22 Feb 2008 17:47:28 +0000 (17:47 +0000)]
MMX vectors are passed 4-byte aligned.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47483 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd smart refcounting pointer class to ADT back (known before as IntrusiveSPtr.h).
Anton Korobeynikov [Fri, 22 Feb 2008 17:26:05 +0000 (17:26 +0000)]
Add smart refcounting pointer class to ADT back (known before as IntrusiveSPtr.h).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47482 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix some bugs in tutorial, patch by Erick Tryzelaar
Chris Lattner [Fri, 22 Feb 2008 17:09:39 +0000 (17:09 +0000)]
fix some bugs in tutorial, patch by Erick Tryzelaar

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47481 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUnbreak build for VC2008. Patch by Argiris Kirtzidis!
Anton Korobeynikov [Fri, 22 Feb 2008 10:11:21 +0000 (10:11 +0000)]
Unbreak build for VC2008. Patch by Argiris Kirtzidis!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47480 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoProvide __main hooks for cygwin & mingw32
Anton Korobeynikov [Fri, 22 Feb 2008 10:08:31 +0000 (10:08 +0000)]
Provide __main hooks for cygwin & mingw32

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47479 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFixed a typo.
Zhou Sheng [Fri, 22 Feb 2008 10:00:35 +0000 (10:00 +0000)]
Fixed a typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47478 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAllow re-materialization of pic load (controlled by -remat-pic-load for now).
Evan Cheng [Fri, 22 Feb 2008 09:25:47 +0000 (09:25 +0000)]
Allow re-materialization of pic load (controlled by -remat-pic-load for now).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47476 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoEnable re-materialization of instructions which have virtual register operands if
Evan Cheng [Fri, 22 Feb 2008 09:24:50 +0000 (09:24 +0000)]
Enable re-materialization of instructions which have virtual register operands if
the definition of the operand also reaches its uses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47475 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agocopy mmx values from/to memory with GPRs on x86-32
Chris Lattner [Fri, 22 Feb 2008 05:18:04 +0000 (05:18 +0000)]
copy mmx values from/to memory with GPRs on x86-32
instead of with mmx registers.  This horribleness is apparently
done by gcc to avoid having to insert emms in places that really
should have it.  This is the second half of rdar://5741668.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47474 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPrint getresult instruction properly.
Devang Patel [Fri, 22 Feb 2008 03:10:23 +0000 (03:10 +0000)]
Print getresult instruction properly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47473 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPrint ret instruction that returns aggregates.
Devang Patel [Fri, 22 Feb 2008 02:50:49 +0000 (02:50 +0000)]
Print ret instruction that returns aggregates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47472 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRead and write getresult.
Devang Patel [Fri, 22 Feb 2008 02:49:49 +0000 (02:49 +0000)]
Read and write getresult.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47471 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoStart using GPR's to copy around mmx value instead of mmx regs.
Chris Lattner [Fri, 22 Feb 2008 02:09:43 +0000 (02:09 +0000)]
Start using GPR's to copy around mmx value instead of mmx regs.
GCC apparently does this, and code depends on not having to do
emms when this happens.  This is x86-64 only so far, second half
should handle x86-32.

rdar://5741668

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47470 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agominor cleanups to LSBaseSDNode.
Chris Lattner [Fri, 22 Feb 2008 01:54:35 +0000 (01:54 +0000)]
minor cleanups to LSBaseSDNode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47469 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix compiler warning.
Evan Cheng [Fri, 22 Feb 2008 01:48:00 +0000 (01:48 +0000)]
Fix compiler warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47468 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a regression in 403.gcc and 186.crafty introduced in 47383. To test
Dan Gohman [Fri, 22 Feb 2008 01:12:31 +0000 (01:12 +0000)]
Fix a regression in 403.gcc and 186.crafty introduced in 47383. To test
that a value is >= 32, check that all of the high bits are zero, not
just one or more.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47467 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoprint getresult instruction.
Devang Patel [Thu, 21 Feb 2008 23:02:20 +0000 (23:02 +0000)]
print getresult instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47461 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse isa<> instead of getTypeID() to check StructType.
Devang Patel [Thu, 21 Feb 2008 22:24:17 +0000 (22:24 +0000)]
Use isa<> instead of getTypeID() to check StructType.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47460 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoA few minor updates, removing implemented stuff and adding a couple of
Eli Friedman [Thu, 21 Feb 2008 21:16:49 +0000 (21:16 +0000)]
A few minor updates, removing implemented stuff and adding a couple of
new things.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47458 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake the clobber analysis a bit more smart: we only are careful about
Chris Lattner [Thu, 21 Feb 2008 20:54:31 +0000 (20:54 +0000)]
Make the clobber analysis a bit more smart: we only are careful about
early clobbers if the clobber list contains a *register* not some thing
like {memory}, {dirflag} etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47457 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTreat clobber operands like early clobbers: if we have
Chris Lattner [Thu, 21 Feb 2008 19:43:13 +0000 (19:43 +0000)]
Treat clobber operands like early clobbers: if we have
any, we force sdisel to do all regalloc for an asm.  This
leads to gross but correct codegen.

This fixes the rest of PR2078.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47454 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoClear PhysRegPartUse for the sub register as well.
Bill Wendling [Thu, 21 Feb 2008 19:35:27 +0000 (19:35 +0000)]
Clear PhysRegPartUse for the sub register as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47453 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdjust the MaxAlignment for the special register scavenging spill slot.
Bill Wendling [Thu, 21 Feb 2008 19:33:53 +0000 (19:33 +0000)]
Adjust the MaxAlignment for the special register scavenging spill slot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47452 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHelp testing.
Evan Cheng [Thu, 21 Feb 2008 19:20:21 +0000 (19:20 +0000)]
Help testing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47448 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoChange a C-style cast to const_cast, to avoid a -Wcast-qual warning.
Dan Gohman [Thu, 21 Feb 2008 17:33:24 +0000 (17:33 +0000)]
Change a C-style cast to const_cast, to avoid a -Wcast-qual warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47437 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBetter names as per Evan's request
Andrew Lenharth [Thu, 21 Feb 2008 16:11:38 +0000 (16:11 +0000)]
Better names as per Evan's request

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47435 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSimplify this code, no functionality change.
Nick Lewycky [Thu, 21 Feb 2008 09:14:53 +0000 (09:14 +0000)]
Simplify this code, no functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47434 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoGlobalValues are Constants, remove redundant code. Also fix typo in a comment.
Nick Lewycky [Thu, 21 Feb 2008 08:34:02 +0000 (08:34 +0000)]
GlobalValues are Constants, remove redundant code. Also fix typo in a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47433 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove llvm-upgrade and update tests.
Tanya Lattner [Thu, 21 Feb 2008 07:42:26 +0000 (07:42 +0000)]
Remove llvm-upgrade and update tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47432 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDan implemented one multiply issue. Replace it with another. :)
Chris Lattner [Thu, 21 Feb 2008 06:51:29 +0000 (06:51 +0000)]
Dan implemented one multiply issue.  Replace it with another. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47431 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAtomic op support. If any gcc test uses __sync builtins, it might start failing...
Andrew Lenharth [Thu, 21 Feb 2008 06:45:13 +0000 (06:45 +0000)]
Atomic op support.  If any gcc test uses __sync builtins, it might start failing on archs that haven't implemented them yet

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47430 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd support for matching mem operands. This fixes PR1133, patch by
Chris Lattner [Thu, 21 Feb 2008 05:27:19 +0000 (05:27 +0000)]
Add support for matching mem operands.  This fixes PR1133, patch by
Eli Friedman.  This implements CodeGen/Generic/2008-02-20-MatchingMem.ll.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47428 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agotestcase for PR1133
Chris Lattner [Thu, 21 Feb 2008 05:27:08 +0000 (05:27 +0000)]
testcase for PR1133

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47427 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a (harmless) but where vregs were added to the used reg lists for
Chris Lattner [Thu, 21 Feb 2008 04:55:52 +0000 (04:55 +0000)]
Fix a (harmless) but where vregs were added to the used reg lists for
inline asms.

Fix PR2078 by marking aliases of registers used when a register is
marked used.  This prevents EAX from being allocated when AX is listed
in the clobber set for the asm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47426 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLet invoke return aggregate value.
Devang Patel [Thu, 21 Feb 2008 02:14:01 +0000 (02:14 +0000)]
Let invoke return aggregate value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47425 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLet function call return aggregate.
Devang Patel [Thu, 21 Feb 2008 01:54:02 +0000 (01:54 +0000)]
Let function call return aggregate.
Now, we have very first multiple return value testcase!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47424 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd -disable-output option.
Devang Patel [Thu, 21 Feb 2008 01:41:25 +0000 (01:41 +0000)]
Add -disable-output option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47422 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoClean up some spilling code using MachineRegisterInfo.
Evan Cheng [Thu, 21 Feb 2008 00:34:19 +0000 (00:34 +0000)]
Clean up some spilling code using MachineRegisterInfo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47416 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoXFAIL for now.
Devang Patel [Wed, 20 Feb 2008 23:10:42 +0000 (23:10 +0000)]
XFAIL for now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47411 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNow functions can return aggregate values.
Devang Patel [Wed, 20 Feb 2008 22:51:28 +0000 (22:51 +0000)]
Now functions can return aggregate values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47409 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoregenerate.
Devang Patel [Wed, 20 Feb 2008 22:40:23 +0000 (22:40 +0000)]
regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47408 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoParse
Devang Patel [Wed, 20 Feb 2008 22:39:45 +0000 (22:39 +0000)]
Parse
ret i32 1, i8 2
another step towards multiple return value support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47407 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoWhat if functions can return aggregate values ?
Devang Patel [Wed, 20 Feb 2008 22:36:03 +0000 (22:36 +0000)]
What if functions can return aggregate values ?
One small step towards multiple return value support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47406 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRegenerated files.
Dale Johannesen [Wed, 20 Feb 2008 21:15:43 +0000 (21:15 +0000)]
Regenerated files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47402 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSupport alignment within ParamAttrs in the I/O handling.
Dale Johannesen [Wed, 20 Feb 2008 21:15:19 +0000 (21:15 +0000)]
Support alignment within ParamAttrs in the I/O handling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47401 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPoorly named option.
Evan Cheng [Wed, 20 Feb 2008 20:57:32 +0000 (20:57 +0000)]
Poorly named option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47400 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove one of the fixmes that I put in there. From Evan:
Bill Wendling [Wed, 20 Feb 2008 20:56:45 +0000 (20:56 +0000)]
Remove one of the fixmes that I put in there. From Evan:

No need to go up more levels. A def of a register also sets its sub-registers
(so if PhysRegInfo[SuperReg] is NULL, it means SuperReg's super registers are
not previously defined).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47399 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd convenient helper to get suffix of the file
Anton Korobeynikov [Wed, 20 Feb 2008 19:41:22 +0000 (19:41 +0000)]
Add convenient helper to get suffix of the file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47397 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agogetresult does not support nested aggregates.
Devang Patel [Wed, 20 Feb 2008 19:39:41 +0000 (19:39 +0000)]
getresult does not support nested aggregates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47396 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImprove some comments explaining the "handle kills" stuff better.
Bill Wendling [Wed, 20 Feb 2008 19:35:34 +0000 (19:35 +0000)]
Improve some comments explaining the "handle kills" stuff better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47395 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoVerifier should use Assert1 instead of assert.
Devang Patel [Wed, 20 Feb 2008 19:32:20 +0000 (19:32 +0000)]
Verifier should use Assert1 instead of assert.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47394 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove inline keywords from in-class function definitions, for
Dan Gohman [Wed, 20 Feb 2008 19:29:58 +0000 (19:29 +0000)]
Remove inline keywords from in-class function definitions, for
consistency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47393 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agogetresult type is the type of indexed aggregate element
Devang Patel [Wed, 20 Feb 2008 19:26:55 +0000 (19:26 +0000)]
getresult type is the type of indexed aggregate element

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47392 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRegenerate.
Devang Patel [Wed, 20 Feb 2008 19:13:10 +0000 (19:13 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47391 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSpecify GetResultInst index as an unsigned.
Devang Patel [Wed, 20 Feb 2008 19:10:47 +0000 (19:10 +0000)]
Specify GetResultInst index as an unsigned.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47390 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix comment.
Bill Wendling [Wed, 20 Feb 2008 19:09:14 +0000 (19:09 +0000)]
Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47389 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoassert is more effective reminder then FIXME tag for unimplemented features.
Devang Patel [Wed, 20 Feb 2008 18:37:40 +0000 (18:37 +0000)]
assert is more effective reminder then FIXME tag for unimplemented features.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47388 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse isValidOperands() to verify GetResultInst.
Devang Patel [Wed, 20 Feb 2008 18:36:46 +0000 (18:36 +0000)]
Use isValidOperands() to verify GetResultInst.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47387 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix typo. Add const version of getAggregateValue() accessor member function.
Devang Patel [Wed, 20 Feb 2008 18:36:16 +0000 (18:36 +0000)]
Fix typo. Add const version of getAggregateValue() accessor member function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47386 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTemporarily backing out r47337. It breaks a number of CBE tests.
Evan Cheng [Wed, 20 Feb 2008 18:32:05 +0000 (18:32 +0000)]
Temporarily backing out r47337. It breaks a number of CBE tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47385 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLegalizeTypes support for scalarizing a vector store
Duncan Sands [Wed, 20 Feb 2008 17:38:09 +0000 (17:38 +0000)]
LegalizeTypes support for scalarizing a vector store
and splitting extract_subvector.  This fixes nine
"make check" testcases, for example
2008-02-04-ExtractSubvector.ll and (partially)
CodeGen/Generic/vector.ll.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47384 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoConvert Legalize to use the APInt form of ComputeMaskedBits.
Dan Gohman [Wed, 20 Feb 2008 16:57:27 +0000 (16:57 +0000)]
Convert Legalize to use the APInt form of ComputeMaskedBits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47383 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd explicit keywords.
Dan Gohman [Wed, 20 Feb 2008 16:44:09 +0000 (16:44 +0000)]
Add explicit keywords.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47382 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoConvert DAGCombiner to use the APInt form of ComputeMaskedBits.
Dan Gohman [Wed, 20 Feb 2008 16:33:30 +0000 (16:33 +0000)]
Convert DAGCombiner to use the APInt form of ComputeMaskedBits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47381 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse APInt::intersects.
Dan Gohman [Wed, 20 Feb 2008 16:30:17 +0000 (16:30 +0000)]
Use APInt::intersects.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47380 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd an intersects method to APInt, to capture a common idiom.
Dan Gohman [Wed, 20 Feb 2008 16:08:11 +0000 (16:08 +0000)]
Add an intersects method to APInt, to capture a common idiom.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47379 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd documentation for cl::sink stuff
Anton Korobeynikov [Wed, 20 Feb 2008 12:38:31 +0000 (12:38 +0000)]
Add documentation for cl::sink stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47378 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd 'sink' cmdline option. Patch by Mikhail Glushenkov!
Anton Korobeynikov [Wed, 20 Feb 2008 12:38:07 +0000 (12:38 +0000)]
Add 'sink' cmdline option. Patch by Mikhail Glushenkov!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47377 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRegenerate
Anton Korobeynikov [Wed, 20 Feb 2008 12:10:37 +0000 (12:10 +0000)]
Regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47376 91177308-0d34-0410-b5e6-96231b3b80d8