oota-llvm.git
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

16 years agoFix newly-introduced 4.3 warnings
Anton Korobeynikov [Wed, 20 Feb 2008 12:07:57 +0000 (12:07 +0000)]
Fix newly-introduced 4.3 warnings

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

16 years agoGet rid of hash_map in llvmc
Anton Korobeynikov [Wed, 20 Feb 2008 11:28:26 +0000 (11:28 +0000)]
Get rid of hash_map in llvmc

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

16 years agoGet rid of hash_map. Use StringMap instead
Anton Korobeynikov [Wed, 20 Feb 2008 11:27:49 +0000 (11:27 +0000)]
Get rid of hash_map. Use StringMap instead

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

16 years agoAnd final pack of warnings silencing
Anton Korobeynikov [Wed, 20 Feb 2008 11:27:04 +0000 (11:27 +0000)]
And final pack of warnings silencing

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

16 years agoMake Transforms to be 4.3 warnings-clean
Anton Korobeynikov [Wed, 20 Feb 2008 11:26:25 +0000 (11:26 +0000)]
Make Transforms to be 4.3 warnings-clean

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

16 years agoFix code style
Anton Korobeynikov [Wed, 20 Feb 2008 11:24:05 +0000 (11:24 +0000)]
Fix code style

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

16 years agoRemove bunch of gcc 4.3-related warnings from Target
Anton Korobeynikov [Wed, 20 Feb 2008 11:22:39 +0000 (11:22 +0000)]
Remove bunch of gcc 4.3-related warnings from Target

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

16 years agoUpdate gcc 4.3 warnings fix patch with recent head changes
Anton Korobeynikov [Wed, 20 Feb 2008 11:10:28 +0000 (11:10 +0000)]
Update gcc 4.3 warnings fix patch with recent head changes

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

16 years agoUnbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.
Anton Korobeynikov [Wed, 20 Feb 2008 11:08:44 +0000 (11:08 +0000)]
Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.

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

16 years agoAdded some comments and reformatted others. No functionality change.
Bill Wendling [Wed, 20 Feb 2008 09:15:16 +0000 (09:15 +0000)]
Added some comments and reformatted others. No functionality change.

Added two "FIXMEs" for code that looks dubious to me (but I could be
wrong).

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

16 years agoFixed typo.
Bill Wendling [Wed, 20 Feb 2008 09:14:09 +0000 (09:14 +0000)]
Fixed typo.

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

16 years agoWhen performing return slot optimization, remember to inform memdep when we're removi...
Owen Anderson [Wed, 20 Feb 2008 08:23:02 +0000 (08:23 +0000)]
When performing return slot optimization, remember to inform memdep when we're removing the memcpy.

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

16 years agoAdded memmove to interpreter external functions list. Patch by Daniel Dunbar.
Evan Cheng [Wed, 20 Feb 2008 07:55:26 +0000 (07:55 +0000)]
Added memmove to interpreter external functions list. Patch by Daniel Dunbar.

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

16 years agoMore constification of things. More comments added. No functionality
Bill Wendling [Wed, 20 Feb 2008 07:36:31 +0000 (07:36 +0000)]
More constification of things. More comments added. No functionality
changes. (Sorry for any formatting changes that creeped in.)

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

16 years agoUse getConstant for ConstantInts.
Nick Lewycky [Wed, 20 Feb 2008 06:58:55 +0000 (06:58 +0000)]
Use getConstant for ConstantInts.

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

16 years agoAdd 'umax' similar to 'smax' SCEV. Closes PR2003.
Nick Lewycky [Wed, 20 Feb 2008 06:48:22 +0000 (06:48 +0000)]
Add 'umax' similar to 'smax' SCEV. Closes PR2003.

Parse reversed smax and umax as smin and umin and express them with negative
or binary-not SCEVs (which are really just subtract under the hood).

Parse 'xor %x, -1' as (-1 - %x).

Remove dead code (ConstantInt::get always returns a ConstantInt).

Don't use getIntegerSCEV(-1, Ty). The first value is an int, then it gets
passed into a uint64_t. Instead, create the -1 directly from
ConstantInt::getAllOnesValue().

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

16 years agoFix an incredibly subtle bug exposed by Ted's change to APInt profiling.
Chris Lattner [Wed, 20 Feb 2008 06:28:01 +0000 (06:28 +0000)]
Fix an incredibly subtle bug exposed by Ted's change to APInt profiling.
AddNodeIDNode does profiling for a ConstantSDNode, but so does
SelectionDAG::getConstant.  This profiling should be moved to a common
static function in ConstantSDNode.

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

16 years agoNo functionality change:
Bill Wendling [Wed, 20 Feb 2008 06:10:21 +0000 (06:10 +0000)]
No functionality change:

 - Constified some MachineOperand values.
 - Added/Modified some comments.

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

16 years agoXFAIL this for now.
Evan Cheng [Wed, 20 Feb 2008 02:38:58 +0000 (02:38 +0000)]
XFAIL this for now.

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