Commit Graph

29232 Commits

Author SHA1 Message Date
Anton Korobeynikov
fd58e6e2ec Moved disassembler to libSystem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33461 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 10:26:08 +00:00
Evan Cheng
367372a30c 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
2007-01-23 09:38:11 +00:00
Chris Lattner
c970812283 fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33459 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 04:59:58 +00:00
Chris Lattner
182907645c 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
2007-01-23 01:16:19 +00:00
Chris Lattner
08a4d5a343 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
2007-01-23 00:59:48 +00:00
Chris Lattner
89502f0869 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
2007-01-23 00:59:15 +00:00
Evan Cheng
dc77540d95 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
2007-01-23 00:57:47 +00:00
Chris Lattner
fad2912522 Fix a bunch of inline asm failures
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33454 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 00:36:17 +00:00
Evan Cheng
07700d123e 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
2007-01-22 23:18:10 +00:00
Evan Cheng
9b631a58ef Update comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33450 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-22 23:14:52 +00:00
Evan Cheng
f6d039a039 Remove the DoubleTy special case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33449 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-22 23:13:55 +00:00
Evan Cheng
aa3e123ebb 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
2007-01-22 23:13:01 +00:00
Evan Cheng
74fc22d484 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
2007-01-22 23:11:06 +00:00
Evan Cheng
ebd9b73ecd 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
2007-01-22 23:09:50 +00:00
Evan Cheng
778900a5d1 - 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
2007-01-22 23:08:19 +00:00
Evan Cheng
f3bf908031 Pasto
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33444 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-22 23:01:22 +00:00
Evan Cheng
706535db86 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
2007-01-22 21:34:25 +00:00
Evan Cheng
d44ecd86e7 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
2007-01-22 21:24:13 +00:00
Evan Cheng
2576f13645 Use bl to call Thumb fuctions directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33433 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-22 19:40:10 +00:00
Evan Cheng
8a67cdc5eb Fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33432 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-22 18:57:39 +00:00
Jim Laskey
639bebb83a Bring up to date.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33428 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-22 14:13:45 +00:00
Reid Spencer
4223016d02 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
2007-01-22 05:51:25 +00:00
Jeff Cohen
ac2dca9a6f 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
2007-01-21 19:30:52 +00:00
Jeff Cohen
361c3efd9a 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
2007-01-21 19:19:31 +00:00
Reid Spencer
5c4db8af71 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
2007-01-21 15:53:18 +00:00
Chris Lattner
66bb5b5db6 add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33423 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-21 07:03:37 +00:00
Reid Spencer
febecf4041 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33422 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-21 06:42:03 +00:00
Reid Spencer
8c70122308 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
2007-01-21 06:41:11 +00:00
Chris Lattner
17be6791b8 default to emiting an uncompressed .bc file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33420 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-21 06:34:18 +00:00
Reid Spencer
9b5b182e5f For PR1128:
Regenerate for ARM support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33419 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-21 06:32:59 +00:00
Reid Spencer
5b53fd1cfc 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
2007-01-21 06:31:55 +00:00
Reid Spencer
2c7123c558 Whoops, fix typo in last commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33417 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-21 02:29:10 +00:00
Chris Lattner
3af8c6ee61 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33416 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-21 00:56:42 +00:00
Reid Spencer
24d6da5fed 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
2007-01-21 00:29:26 +00:00
Reid Spencer
67f827ce5b 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
2007-01-20 23:35:48 +00:00
Reid Spencer
7c29243670 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
2007-01-20 23:32:04 +00:00
Reid Spencer
2c1ce4f28e 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
2007-01-20 23:21:08 +00:00
Owen Anderson
1027a533d4 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
2007-01-20 23:07:13 +00:00
Chris Lattner
4a8c32debf trivial cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33410 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-20 22:39:15 +00:00
Chris Lattner
58092e35a3 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
2007-01-20 22:35:55 +00:00
Chris Lattner
c5633c235e 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
2007-01-20 20:51:43 +00:00
Reid Spencer
466207a3eb For PR808:
Regenerate to include NetBSD.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33407 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-20 20:45:39 +00:00
Reid Spencer
1c7a242358 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
2007-01-20 20:44:38 +00:00
Reid Spencer
377170a3de For PR808:
Add support for NetBSD.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33405 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-20 20:43:35 +00:00
Reid Spencer
9d7d2d7e4b Try a negative number with ashr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33404 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-20 20:30:13 +00:00
Reid Spencer
a42c7fd0ca 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
2007-01-20 20:12:29 +00:00
Evan Cheng
515674c7b6 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
2007-01-20 10:22:33 +00:00
Evan Cheng
2bd7b2b41f One more try...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33400 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-20 10:17:53 +00:00
Evan Cheng
5ad334fbda 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
2007-01-20 10:11:56 +00:00
Evan Cheng
597a3bde35 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
2007-01-20 10:10:26 +00:00