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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Bill Wendling [Thu, 18 Jan 2007 01:23:11 +0000 (01:23 +0000)]
Have the OutputBuffer take the is64Bit and isLittleEndian booleans.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33316
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Jan 2007 01:15:58 +0000 (01:15 +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@33315
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Jan 2007 01:12:56 +0000 (01:12 +0000)]
add new JumpTableSpecialLabelPrefix hook to asmprinter for jumptable emission.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33314
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 17 Jan 2007 23:33:20 +0000 (23:33 +0000)]
For PR1028:
Add the llvm.stacksave and llvm.stackrestore intrinsics that correspond
to the GCC builtins __builtin_stack_save and __builtin_stack_restore. This
allows the CBE to execute these builtins, and fixes:
test/CodeGen/CBackend/2007-01-17-StackSaveNRestore.ll
External/SPEC/CINT2000/176.gcc (CBE)
Patch by Gordon Henriksen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33313
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 17 Jan 2007 23:20:43 +0000 (23:20 +0000)]
For PR1028:
Ensure the CBE generates calls to GCC builtins for stack_save and
stack_restore when it encounters the corresponding intrinsics.
Patch by Gordon Henriksen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33312
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 17 Jan 2007 22:22:31 +0000 (22:22 +0000)]
Changed to use the OutputBuffer instead of the methods in MachO and ELF
writers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33311
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 17 Jan 2007 22:17:24 +0000 (22:17 +0000)]
Refactored output buffer methods from MachO and ELF writers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33310
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 17 Jan 2007 21:45:01 +0000 (21:45 +0000)]
Add CGPassManager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33309
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 17 Jan 2007 21:19:23 +0000 (21:19 +0000)]
Update ModulePass::assignPassManager() to take into account Preferred
Pass Manager Type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33308
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 17 Jan 2007 20:33:36 +0000 (20:33 +0000)]
s/PassDebugging_New/PassDebugging/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33307
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 17 Jan 2007 20:30:17 +0000 (20:30 +0000)]
Update assignPassManager() signature to allow selection of preferred
pass manager type. This allows new FPPassManager to select Call Graph
Pass Manager (if available) as its parent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33306
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 17 Jan 2007 20:24:45 +0000 (20:24 +0000)]
For PR739:
Support overriding the prefix and DESTDIR variables from the make command
line. This makes the makefile system a little more GNU compliant and the
feature makes it easier for distribution builders to re-target the install
location of LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33305
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Jan 2007 17:44:25 +0000 (17:44 +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@33304
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Jan 2007 17:43:33 +0000 (17:43 +0000)]
darwin doesn't support .bss, but it does have .zerofill
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33303
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Jan 2007 17:42:42 +0000 (17:42 +0000)]
add new directive
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33302
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Jan 2007 17:42:30 +0000 (17:42 +0000)]
document that BSSSection can be null.
Add new ZeroFillDirective directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33301
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 17 Jan 2007 10:40:54 +0000 (10:40 +0000)]
Document flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33300
91177308-0d34-0410-b5e6-
96231b3b80d8