oota-llvm.git
17 years agoRemove the DoubleTy special case.
Evan Cheng [Mon, 22 Jan 2007 23:13:55 +0000 (23:13 +0000)]
Remove the DoubleTy special case.

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

17 years agoARM AAPCS abi (Linux, etc.) requires 8-byte double / long alignment; Mac
Evan Cheng [Mon, 22 Jan 2007 23:13:01 +0000 (23:13 +0000)]
ARM AAPCS abi (Linux, etc.) requires 8-byte double / long alignment; Mac
requires 4-bytes alignment.

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

17 years agoDouble and long preferred alignment set to 8 bytes.
Evan Cheng [Mon, 22 Jan 2007 23:11:06 +0000 (23:11 +0000)]
Double and long preferred alignment set to 8 bytes.

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

17 years agoDouble and long preferred alignment is 8 byte.
Evan Cheng [Mon, 22 Jan 2007 23:09:50 +0000 (23:09 +0000)]
Double and long preferred alignment is 8 byte.

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

17 years ago- getTypeAlignmentShift() should be returning preferred alignment, not ABI
Evan Cheng [Mon, 22 Jan 2007 23:08:19 +0000 (23:08 +0000)]
- getTypeAlignmentShift() should be returning preferred alignment, not ABI
alignment.
- getPreferredAlignmentLog(): remove Double special case.

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

17 years agoPasto
Evan Cheng [Mon, 22 Jan 2007 23:01:22 +0000 (23:01 +0000)]
Pasto

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

17 years agoLinux GOT indirect reference is only necessary in PIC mode.
Evan Cheng [Mon, 22 Jan 2007 21:34:25 +0000 (21:34 +0000)]
Linux GOT indirect reference is only necessary in PIC mode.

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

17 years agoDouble and Long preferred alignment is 4 for Darwin, 8 for Linux.
Evan Cheng [Mon, 22 Jan 2007 21:24:13 +0000 (21:24 +0000)]
Double and Long preferred alignment is 4 for Darwin, 8 for Linux.

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

17 years agoUse bl to call Thumb fuctions directly.
Evan Cheng [Mon, 22 Jan 2007 19:40:10 +0000 (19:40 +0000)]
Use bl to call Thumb fuctions directly.

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

17 years agoFix test case.
Evan Cheng [Mon, 22 Jan 2007 18:57:39 +0000 (18:57 +0000)]
Fix test case.

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

17 years agoBring up to date.
Jim Laskey [Mon, 22 Jan 2007 14:13:45 +0000 (14:13 +0000)]
Bring up to date.

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

17 years agoCleanup checks in the load and store of casted pointer transforms. Two
Reid Spencer [Mon, 22 Jan 2007 05:51:25 +0000 (05:51 +0000)]
Cleanup checks in the load and store of casted pointer transforms. Two
changes: (1) don't special case for i1 any more, (2) use the new
TargetData::getTypeSizeInBits method to ensure source and dest are the
same bit width.

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

17 years agoFix a bunch of missing semicolon parse errors from bison.
Jeff Cohen [Sun, 21 Jan 2007 19:30:52 +0000 (19:30 +0000)]
Fix a bunch of missing semicolon parse errors from bison.

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

17 years agoFix this error:
Jeff Cohen [Sun, 21 Jan 2007 19:19:31 +0000 (19:19 +0000)]
Fix this error:

llvm[2]: Compiling llvmAsmParser.cpp for Debug build
/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y: In function 'int llvmAsmparse()':
/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y:1846: error: expected `;' before '}' token

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

17 years agoRun GenLibDeps.pl with the configured PERL path to handle different install
Reid Spencer [Sun, 21 Jan 2007 15:53:18 +0000 (15:53 +0000)]
Run GenLibDeps.pl with the configured PERL path to handle different install
locations for Perl on different systems.

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

17 years agoadd a note
Chris Lattner [Sun, 21 Jan 2007 07:03:37 +0000 (07:03 +0000)]
add a note

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

17 years agoRegenerate.
Reid Spencer [Sun, 21 Jan 2007 06:42:03 +0000 (06:42 +0000)]
Regenerate.

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

17 years agoFix the TARGET_HAS_JIT settings. Sparc doesn't, x86_64 does, ARM doesn't.
Reid Spencer [Sun, 21 Jan 2007 06:41:11 +0000 (06:41 +0000)]
Fix the TARGET_HAS_JIT settings. Sparc doesn't, x86_64 does, ARM doesn't.

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

17 years agodefault to emiting an uncompressed .bc file
Chris Lattner [Sun, 21 Jan 2007 06:34:18 +0000 (06:34 +0000)]
default to emiting an uncompressed .bc file

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

17 years agoFor PR1128:
Reid Spencer [Sun, 21 Jan 2007 06:32:59 +0000 (06:32 +0000)]
For PR1128:
Regenerate for ARM support.

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

17 years agoAdd support for the ARM target in the target configuration processing.
Reid Spencer [Sun, 21 Jan 2007 06:31:55 +0000 (06:31 +0000)]
Add support for the ARM target in the target configuration processing.

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

17 years agoWhoops, fix typo in last commit.
Reid Spencer [Sun, 21 Jan 2007 02:29:10 +0000 (02:29 +0000)]
Whoops, fix typo in last commit.

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

17 years agonew testcase
Chris Lattner [Sun, 21 Jan 2007 00:56:42 +0000 (00:56 +0000)]
new testcase

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

17 years agoFor PR970:
Reid Spencer [Sun, 21 Jan 2007 00:29:26 +0000 (00:29 +0000)]
For PR970:
Clean up handling of isFloatingPoint() and dealing with PackedType.
Patch by Gordon Henriksen!

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

17 years agoRevise the store V, (cast P) -> store (cast V) -> P transform.
Reid Spencer [Sat, 20 Jan 2007 23:35:48 +0000 (23:35 +0000)]
Revise the store V, (cast P) -> store (cast V) -> P transform.
We only want to do this if the src and destination types have the same
bit width. This patch uses TargetData::getTypeSizeInBits() instead of
making a special case for integer types and avoiding the transform if
they don't match.

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

17 years agoImplement a getTypeSizeInBits method. This helps in transforms that want
Reid Spencer [Sat, 20 Jan 2007 23:32:04 +0000 (23:32 +0000)]
Implement a getTypeSizeInBits method. This helps in transforms that want
to ensure the bit size of a type is identical before proceeding.

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

17 years agoInitial template for the 2.0 Bitcode format that will replace the 1.x
Reid Spencer [Sat, 20 Jan 2007 23:21:08 +0000 (23:21 +0000)]
Initial template for the 2.0 Bitcode format that will replace the 1.x
Bytecode format.

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

17 years agoTargetData assumes (and some regression tests depend on it) that the size of
Owen Anderson [Sat, 20 Jan 2007 23:07:13 +0000 (23:07 +0000)]
TargetData assumes (and some regression tests depend on it) that the size of
an unspecified datatype in the datalayout is capped by the size of a pointer.

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

17 years agotrivial cleanup
Chris Lattner [Sat, 20 Jan 2007 22:39:15 +0000 (22:39 +0000)]
trivial cleanup

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

17 years agoTeach TargetData to handle 'preferred' alignment for each target, and use
Chris Lattner [Sat, 20 Jan 2007 22:35:55 +0000 (22:35 +0000)]
Teach TargetData to handle 'preferred' alignment for each target, and use
these alignment amounts to align scalars when we can.  Patch by Scott Michel!

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

17 years agoDOUT still evaluates side effects, even though it doesn't print. This means
Chris Lattner [Sat, 20 Jan 2007 20:51:43 +0000 (20:51 +0000)]
DOUT still evaluates side effects, even though it doesn't print.  This means
that disassembleBuffer will be called even if NDEBUG, but the result will
be ignored.

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

17 years agoFor PR808:
Reid Spencer [Sat, 20 Jan 2007 20:45:39 +0000 (20:45 +0000)]
For PR808:
Regenerate to include NetBSD.

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

17 years agoFor PR808:
Reid Spencer [Sat, 20 Jan 2007 20:44:38 +0000 (20:44 +0000)]
For PR808:
NetBSD also doesn't have pthread_mutexattr_setpshared

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

17 years agoFor PR808:
Reid Spencer [Sat, 20 Jan 2007 20:43:35 +0000 (20:43 +0000)]
For PR808:
Add support for NetBSD.

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

17 years agoTry a negative number with ashr.
Reid Spencer [Sat, 20 Jan 2007 20:30:13 +0000 (20:30 +0000)]
Try a negative number with ashr.

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

17 years agoImplement the signed icmp instructions properly. To do this we introduce
Reid Spencer [Sat, 20 Jan 2007 20:12:29 +0000 (20:12 +0000)]
Implement the signed icmp instructions properly. To do this we introduce
a small inline function to sign extend a uint64_t value based on its
type's bitwidth. This function is then used in both executeSExtInst and
the various executeICMP_S** functions.

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

17 years agoRound up stack to multiple of alignment only if it's a leaf function without alloca.
Evan Cheng [Sat, 20 Jan 2007 10:22:33 +0000 (10:22 +0000)]
Round up stack to multiple of alignment only if it's a leaf function without alloca.

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

17 years agoOne more try...
Evan Cheng [Sat, 20 Jan 2007 10:17:53 +0000 (10:17 +0000)]
One more try...

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

17 years agoLast check-in was bogus. There is no need to align the stack if the function is a...
Evan Cheng [Sat, 20 Jan 2007 10:11:56 +0000 (10:11 +0000)]
Last check-in was bogus. There is no need to align the stack if the function is a leaf function (and without alloca).

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

17 years agoFix for PR1108: type of insert_vector_elt index operand is PtrVT, not MVT::i32.
Evan Cheng [Sat, 20 Jan 2007 10:10:26 +0000 (10:10 +0000)]
Fix for PR1108: type of insert_vector_elt index operand is PtrVT, not MVT::i32.

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

17 years agoCorrect a comment.
Owen Anderson [Sat, 20 Jan 2007 10:07:23 +0000 (10:07 +0000)]
Correct a comment.

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

17 years agoRemove an unused variable.
Evan Cheng [Sat, 20 Jan 2007 09:21:54 +0000 (09:21 +0000)]
Remove an unused variable.

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

17 years agoFix incorrect run line.
Owen Anderson [Sat, 20 Jan 2007 08:48:05 +0000 (08:48 +0000)]
Fix incorrect run line.

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

17 years agoImplement bit-accurate sext instruction.
Reid Spencer [Sat, 20 Jan 2007 08:32:52 +0000 (08:32 +0000)]
Implement bit-accurate sext instruction.
This patch fixes test/Integer/2007-01-17-TruncSext.ll

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

17 years agoAdd a test case for sext bug that Leo found.
Reid Spencer [Sat, 20 Jan 2007 08:31:45 +0000 (08:31 +0000)]
Add a test case for sext bug that Leo found.

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

17 years agoRegenerate for Anton Korobeynikov.
Reid Spencer [Sat, 20 Jan 2007 07:48:49 +0000 (07:48 +0000)]
Regenerate for Anton Korobeynikov.

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

17 years agoCleanup
Anton Korobeynikov [Sat, 20 Jan 2007 07:40:26 +0000 (07:40 +0000)]
Cleanup

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

17 years agoPrologue and epilogue bugs for non-Darwin targets.
Evan Cheng [Sat, 20 Jan 2007 03:24:07 +0000 (03:24 +0000)]
Prologue and epilogue bugs for non-Darwin targets.

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

17 years agoClean up ARM PEI code.
Evan Cheng [Sat, 20 Jan 2007 02:09:25 +0000 (02:09 +0000)]
Clean up ARM PEI code.

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

17 years agoBackend is reponsible for aligning the stack.
Evan Cheng [Sat, 20 Jan 2007 02:08:16 +0000 (02:08 +0000)]
Backend is reponsible for aligning the stack.

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

17 years agoWe not align the final stack slot but instead let the target do so in emitPrologue...
Evan Cheng [Sat, 20 Jan 2007 02:07:13 +0000 (02:07 +0000)]
We not align the final stack slot but instead let the target do so in emitPrologue(). Each target can make adjustments to the stack frame and re-align the stack as it deem appropriate. Do not align it twice which can end up wasting stack space.

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

17 years agoFix a #include to resolve IntegerType class.
Reid Spencer [Fri, 19 Jan 2007 22:45:50 +0000 (22:45 +0000)]
Fix a #include to resolve IntegerType class.

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

17 years agoAdd a #include to resolve IntegerType class.
Reid Spencer [Fri, 19 Jan 2007 22:45:05 +0000 (22:45 +0000)]
Add a #include to resolve IntegerType class.

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

17 years agoAdd test case extracted from lencod. Spiller was infinite looping in GetRegForReload().
Evan Cheng [Fri, 19 Jan 2007 22:43:14 +0000 (22:43 +0000)]
Add test case extracted from lencod. Spiller was infinite looping in GetRegForReload().

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

17 years agoGetRegForReload() now keeps track which registers have been considered and rejected...
Evan Cheng [Fri, 19 Jan 2007 22:40:14 +0000 (22:40 +0000)]
GetRegForReload() now keeps track which registers have been considered and rejected during its quest to find a suitable reload register. This avoids an infinite loop in case like this:
  t1 := op t2, t3
  t2 <- assigned r0 for use by the reload but ended up reuse r1
  t3 <- assigned r1 for use by the reload but ended up reuse r0
  t1 <- desires r1
        sees r1 is taken by t2, tries t2's reload register r0
        sees r0 is taken by t3, tries t3's reload register r1
        sees r1 is taken by t2, tries t2's reload register r0 ...

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

17 years agoUnbreak Darwin.
Reid Spencer [Fri, 19 Jan 2007 22:04:24 +0000 (22:04 +0000)]
Unbreak Darwin.

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

17 years agoHelp the lli interpreter find the stderr/stdin/stdout symbols. These are
Reid Spencer [Fri, 19 Jan 2007 21:41:04 +0000 (21:41 +0000)]
Help the lli interpreter find the stderr/stdin/stdout symbols. These are
needed for output to be generated. On Linux these are both global vars and
macro definitions so we have to special case Linux.

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

17 years agoHandle each of stderr/stdin/stdout separately.
Reid Spencer [Fri, 19 Jan 2007 21:30:39 +0000 (21:30 +0000)]
Handle each of stderr/stdin/stdout separately.

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

17 years agoRemove dead methods in the ValTypes.
Reid Spencer [Fri, 19 Jan 2007 21:25:12 +0000 (21:25 +0000)]
Remove dead methods in the ValTypes.

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

17 years agoFor this transform: store V, (cast P) -> store (cast V), P
Reid Spencer [Fri, 19 Jan 2007 21:20:31 +0000 (21:20 +0000)]
For this transform: store V, (cast P) -> store (cast V), P
don't allow the transform if V and the pointer's element type are different
width integer types.

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

17 years agoFor PR1043:
Reid Spencer [Fri, 19 Jan 2007 21:13:56 +0000 (21:13 +0000)]
For PR1043:
This is the final patch for this PR. It implements some minor cleanup
in the use of IntegerType, to wit:
1. Type::getIntegerTypeMask -> IntegerType::getBitMask
2. Type::Int*Ty changed to IntegerType* from Type*
3. ConstantInt::getType() returns IntegerType* now, not Type*

This also fixes PR1120.

Patch by Sheng Zhou.

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

17 years agoMake this test actually test what its supposed to test.
Reid Spencer [Fri, 19 Jan 2007 21:06:38 +0000 (21:06 +0000)]
Make this test actually test what its supposed to test.

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

17 years agoCode clean up. Use def : pat instead of defining new instructions.
Evan Cheng [Fri, 19 Jan 2007 20:27:35 +0000 (20:27 +0000)]
Code clean up. Use def : pat instead of defining new instructions.

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

17 years agofix build on amd64
Andrew Lenharth [Fri, 19 Jan 2007 20:17:59 +0000 (20:17 +0000)]
fix build on amd64

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

17 years agoisDarwin -> isTargetDarwin
Evan Cheng [Fri, 19 Jan 2007 19:28:01 +0000 (19:28 +0000)]
isDarwin -> isTargetDarwin

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

17 years agoRestructure code a bit to make use of continue (simplifying things). Generalize
Evan Cheng [Fri, 19 Jan 2007 19:25:36 +0000 (19:25 +0000)]
Restructure code a bit to make use of continue (simplifying things).  Generalize
the .zerofill directive emission to not be darwin-specific.

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

17 years agoDarwin doesn't support .bss, but it does have .zerofill
Evan Cheng [Fri, 19 Jan 2007 19:23:47 +0000 (19:23 +0000)]
Darwin doesn't support .bss, but it does have .zerofill

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

17 years agoIntroduce TargetType's ELF and Darwin.
Evan Cheng [Fri, 19 Jan 2007 19:22:40 +0000 (19:22 +0000)]
Introduce TargetType's ELF and Darwin.

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

17 years agoModify emission of jump tables on darwin to emit an extra "l" label that
Evan Cheng [Fri, 19 Jan 2007 18:59:56 +0000 (18:59 +0000)]
Modify emission of jump tables on darwin to emit an extra "l" label that
delimits the boundaries of jump tables.  This lets the linker's dead code
stripping optimization do a better job.

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

17 years agoRemove this xform:
Evan Cheng [Fri, 19 Jan 2007 17:51:44 +0000 (17:51 +0000)]
Remove this xform:
(shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2)
Replace it with:
(add (shl (add x, c1), c2), ) -> (add (add (shl x, c2), c1<<c2), )

This fixes test/CodeGen/ARM/smul.ll

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

17 years agoAdd the check for udis86 to support disassembly.
Reid Spencer [Fri, 19 Jan 2007 17:41:47 +0000 (17:41 +0000)]
Add the check for udis86 to support disassembly.

Regenerated for Anton Korobeynikov.

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

17 years agoFix section definition.
Lauro Ramos Venancio [Fri, 19 Jan 2007 17:33:22 +0000 (17:33 +0000)]
Fix section definition.

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

17 years agoAdding disassembler interface and external hook to udis86 library.
Anton Korobeynikov [Fri, 19 Jan 2007 17:25:17 +0000 (17:25 +0000)]
Adding disassembler interface and external hook to udis86 library.

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

17 years agoicmp doesn't support comparison of packed types.
Reid Spencer [Fri, 19 Jan 2007 17:11:12 +0000 (17:11 +0000)]
icmp doesn't support comparison of packed types.

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

17 years agoCover non-byte-width BATs situation.
Zhou Sheng [Fri, 19 Jan 2007 14:30:59 +0000 (14:30 +0000)]
Cover non-byte-width BATs situation.

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

17 years agoCover more arithmetics for arbitrary bitwidth integers.
Zhou Sheng [Fri, 19 Jan 2007 14:26:57 +0000 (14:26 +0000)]
Cover more arithmetics for arbitrary bitwidth integers.

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

17 years agoARM test cases contributed by Apple.
Evan Cheng [Fri, 19 Jan 2007 09:20:23 +0000 (09:20 +0000)]
ARM test cases contributed by Apple.

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

17 years agoARM backend contribution from Apple.
Evan Cheng [Fri, 19 Jan 2007 07:51:42 +0000 (07:51 +0000)]
ARM backend contribution from Apple.

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

17 years agoNeeded to build on PPC Linux.
Nick Lewycky [Fri, 19 Jan 2007 04:36:02 +0000 (04:36 +0000)]
Needed to build on PPC Linux.

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

17 years agoAdd one test case for Arbitrary BitWidth Integers.
Zhou Sheng [Fri, 19 Jan 2007 01:35:08 +0000 (01:35 +0000)]
Add one test case for Arbitrary BitWidth Integers.

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

17 years agoBack out last changes for dataLayout. Much more work is needed.
Reid Spencer [Fri, 19 Jan 2007 00:07:16 +0000 (00:07 +0000)]
Back out last changes for dataLayout. Much more work is needed.

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

17 years agoFor PR761:
Reid Spencer [Thu, 18 Jan 2007 23:24:24 +0000 (23:24 +0000)]
For PR761:
Implement reading and writing of the Module's data layout string.

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

17 years ago- Target PIC style is no longer affected by relocation model.
Evan Cheng [Thu, 18 Jan 2007 22:27:12 +0000 (22:27 +0000)]
- Target PIC style is no longer affected by relocation model.
- In x86-64 mode, symbols with external linkage (not just symbols which are
  defined externally) requires GOT indirect reference.
- Stylistic code clean up.

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

17 years agoremove an execution test from llvm/test
Chris Lattner [Thu, 18 Jan 2007 22:24:04 +0000 (22:24 +0000)]
remove an execution test from llvm/test

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

17 years agoFix InstCombine/2007-01-18-VectorInfLoop.ll, a case where instcombine
Chris Lattner [Thu, 18 Jan 2007 22:16:33 +0000 (22:16 +0000)]
Fix InstCombine/2007-01-18-VectorInfLoop.ll, a case where instcombine
infinitely loops.

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

17 years agonew testcase that causes instcombine to infinitely loop
Chris Lattner [Thu, 18 Jan 2007 22:16:03 +0000 (22:16 +0000)]
new testcase that causes instcombine to infinitely loop

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

17 years agoUpdate copyright for 2007.
Reid Spencer [Thu, 18 Jan 2007 21:33:56 +0000 (21:33 +0000)]
Update copyright for 2007.

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

17 years agoWelcome 2007.
John Criswell [Thu, 18 Jan 2007 21:22:36 +0000 (21:22 +0000)]
Welcome 2007.

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

17 years agoClean up some code around the store V, (cast P) -> store (cast V), P
Reid Spencer [Thu, 18 Jan 2007 18:54:33 +0000 (18:54 +0000)]
Clean up some code around the store V, (cast P) -> store (cast V), P
transform. Change some variable names so it is clear what is source and
what is dest of the cast. Also, add an assert to ensure that the integer
to integer case is asserting if the bitwidths are different. This prevents
illegal casts from being formed and catches bitwidth bugs sooner.

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

17 years agoUse a cheaper computation.
Reid Spencer [Thu, 18 Jan 2007 18:14:49 +0000 (18:14 +0000)]
Use a cheaper computation.

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

17 years agoFix a regression in the last patch. When constructing a BitMask, be careful
Reid Spencer [Thu, 18 Jan 2007 18:01:32 +0000 (18:01 +0000)]
Fix a regression in the last patch. When constructing a BitMask, be careful
not to overflow 64-bits and end up with a 0 mask. This caused i64 values to
always be stored as 0 with lots of consequential damage to nightly test.

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

17 years agomove contents of PR587 to here.
Chris Lattner [Thu, 18 Jan 2007 07:34:57 +0000 (07:34 +0000)]
move contents of PR587 to here.

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

17 years agoProvide an isPowerOf2ByteWidth method for the IntegerType class. This will
Reid Spencer [Thu, 18 Jan 2007 02:59:54 +0000 (02:59 +0000)]
Provide an isPowerOf2ByteWidth method for the IntegerType class. This will
mostly be used by back ends that wish to distinguish between integer types
that fit evenly within a natural integer type and those that don't.

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

17 years agoThe zerofill directive needs a newline after it.
Bill Wendling [Thu, 18 Jan 2007 02:30:19 +0000 (02:30 +0000)]
The zerofill directive needs a newline after it.

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

17 years agoUse the new maskToBitWidth function to ensure that the results of
Reid Spencer [Thu, 18 Jan 2007 02:12:51 +0000 (02:12 +0000)]
Use the new maskToBitWidth function to ensure that the results of
computations do not overflow the intended bit width.

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

17 years agoAdd an inline helper function that masks a GenericValue to a specified
Reid Spencer [Thu, 18 Jan 2007 02:12:10 +0000 (02:12 +0000)]
Add an inline helper function that masks a GenericValue to a specified
bit width.

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

17 years agoMinor code clean up.
Evan Cheng [Thu, 18 Jan 2007 01:49:58 +0000 (01:49 +0000)]
Minor code clean up.

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

17 years agoMake shl instruction mask its result to the correct bitsize. This is
Reid Spencer [Thu, 18 Jan 2007 01:32:46 +0000 (01:32 +0000)]
Make shl instruction mask its result to the correct bitsize. This is
sufficient to get llvm-test/SingleSource/UnitTests/Integer/general-test.ll
working with lli in interpreter mode.

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

17 years agoTwo changes:
Reid Spencer [Thu, 18 Jan 2007 01:25:42 +0000 (01:25 +0000)]
Two changes:
1. Fix logic for executeGEP. Only 32-bit and 64-bit integer types are
   acceptable as indices.
2. Ensure that all integer cast operations truncate their result to the
   integer size of the operand.

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

17 years agoMake sure we truncate stored values to their bit width.
Reid Spencer [Thu, 18 Jan 2007 01:24:02 +0000 (01:24 +0000)]
Make sure we truncate stored values to their bit width.

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