Evan Cheng [Thu, 25 Jan 2007 03:12:46 +0000 (03:12 +0000)]
Added (preliminary) branch shortening capability to constantpool island pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33497
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 25 Jan 2007 03:07:27 +0000 (03:07 +0000)]
Getting rid uses of evil std::set<>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33496
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 25 Jan 2007 02:53:24 +0000 (02:53 +0000)]
Fix test/CFrontend/2007-01-24-InlineAsmCModifier.c on X86. The %c modifier
says that no $ prefix should be emitted on X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33495
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 25 Jan 2007 02:52:50 +0000 (02:52 +0000)]
Fix test/CFrontend/2007-01-24-InlineAsmCModifier.c on PPC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33494
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 25 Jan 2007 02:52:33 +0000 (02:52 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33493
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 24 Jan 2007 21:09:16 +0000 (21:09 +0000)]
FTOIT and ITOFT are bit converts, and if we drop 21264s, are always available
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33492
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 24 Jan 2007 19:15:24 +0000 (19:15 +0000)]
Call frames for intel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33490
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 24 Jan 2007 18:50:57 +0000 (18:50 +0000)]
80 columns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33489
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 24 Jan 2007 18:45:13 +0000 (18:45 +0000)]
Repair debug frames as a prelude to eh_frames. Switched to using MachineMoves
by value so that clean up is less confusing (these vectors tend to be small.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33488
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 24 Jan 2007 18:43:14 +0000 (18:43 +0000)]
Fix unordered fp on alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33487
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Jan 2007 18:31:00 +0000 (18:31 +0000)]
Fix a misencoding of CBW and CWD. This fixes PR1030.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33486
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 24 Jan 2007 13:12:32 +0000 (13:12 +0000)]
Use asm printer to emit alignment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33485
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 24 Jan 2007 08:53:17 +0000 (08:53 +0000)]
Use PC relative ldr to load from a constantpool in Thumb mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33484
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 24 Jan 2007 07:13:56 +0000 (07:13 +0000)]
Make ivars private and use getters. Have the MachOWriter return "Mach-O
Writer" for the pass name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33483
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 24 Jan 2007 07:03:39 +0000 (07:03 +0000)]
Renamed getTypeAlignmentShift() to getPreferredTypeAlignmentShift().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33482
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 24 Jan 2007 03:42:03 +0000 (03:42 +0000)]
Added new files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33481
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 24 Jan 2007 03:41:36 +0000 (03:41 +0000)]
Add a field for and construction of the PPCMachOWriterInfo object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33480
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 24 Jan 2007 03:40:33 +0000 (03:40 +0000)]
Move the getJTRelocation method out of here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33479
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 24 Jan 2007 03:38:47 +0000 (03:38 +0000)]
Use the TargetMachOWriterInfo class to get this information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33478
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 24 Jan 2007 03:38:14 +0000 (03:38 +0000)]
A virtual method to return the TargetMachOWriterInfo object. This returns
a real value in derived classes, of course.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33477
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 24 Jan 2007 03:37:18 +0000 (03:37 +0000)]
Moved target-specific information to the TargetMachOWriterInfo obj.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33476
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 24 Jan 2007 03:36:05 +0000 (03:36 +0000)]
New "TargetMachOWriterInfo" class. It holds target-specific information
that the MachOWriter needs in order to do its writing stuff 'n things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33475
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 24 Jan 2007 02:45:25 +0000 (02:45 +0000)]
Allow [ fi#c, imm ] as ARM load / store addresses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33474
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 24 Jan 2007 02:27:03 +0000 (02:27 +0000)]
Added some load from stack frames test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33473
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 24 Jan 2007 02:21:22 +0000 (02:21 +0000)]
Various Thumb mode load / store isel bug fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33472
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Jan 2007 23:28:50 +0000 (23:28 +0000)]
Thumb test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33471
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Jan 2007 22:59:13 +0000 (22:59 +0000)]
- Reorg Thumb load / store instructions. Combine each rr and ri pair of
instructions into one (e.g. tLDRrr, tLDRri -> tLDR).
- Thumb ldrsb and ldrsh only have the [reg, reg] address format. If the
address is not an add, materialize a 0 immediate into a register and use
it as the offset field.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33470
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 23 Jan 2007 22:56:28 +0000 (22:56 +0000)]
Fix cut-n-pasto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33469
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Jan 2007 22:47:58 +0000 (22:47 +0000)]
Thumb test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33468
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 23 Jan 2007 21:55:17 +0000 (21:55 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33467
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 23 Jan 2007 21:52:35 +0000 (21:52 +0000)]
Add CallGraphSCCPass::assignPassManager().
This enables CalLGraphPassManager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33466
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Jan 2007 19:06:03 +0000 (19:06 +0000)]
Darwin HiddenDirective is .private_extern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33465
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Jan 2007 17:49:33 +0000 (17:49 +0000)]
Fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33464
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 23 Jan 2007 12:43:53 +0000 (12:43 +0000)]
One more small fix to documentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33463
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 23 Jan 2007 12:35:46 +0000 (12:35 +0000)]
Updating documentation:
- Document visibility stuff
- Fix gcc' supported attributes list
- Document udis86 configure option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33462
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 23 Jan 2007 10:26:08 +0000 (10:26 +0000)]
Moved disassembler to libSystem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33461
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Jan 2007 09:38:11 +0000 (09:38 +0000)]
PEI is now responsible for adding MaxCallFrameSize to frame size and align the stack. Each target can further adjust the frame size if necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33460
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Jan 2007 04:59:58 +0000 (04:59 +0000)]
fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33459
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Jan 2007 01:16:19 +0000 (01:16 +0000)]
make the SmallSet interface more std::set-like
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33458
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Jan 2007 00:59:48 +0000 (00:59 +0000)]
Switch this to use SmallSet to avoid mallocs in the common case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33457
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Jan 2007 00:59:15 +0000 (00:59 +0000)]
add a trivial SmallSet class, which operates on a similar principle to
SmallVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33456
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Jan 2007 00:57:47 +0000 (00:57 +0000)]
hasFP() is now a virtual method of MRegisterInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33455
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Jan 2007 00:36:17 +0000 (00:36 +0000)]
Fix a bunch of inline asm failures
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33454
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 22 Jan 2007 23:18:10 +0000 (23:18 +0000)]
Make it work for both Linux and Mac OS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33451
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 22 Jan 2007 23:14:52 +0000 (23:14 +0000)]
Update comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33450
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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