Commit Graph

29405 Commits

Author SHA1 Message Date
Evan Cheng
012f2d97b7 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
2007-01-24 08:53:17 +00:00
Bill Wendling
2b7218218f 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
2007-01-24 07:13:56 +00:00
Evan Cheng
de268f7dcf Renamed getTypeAlignmentShift() to getPreferredTypeAlignmentShift().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33482 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-24 07:03:39 +00:00
Bill Wendling
bc51340c85 Added new files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33481 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-24 03:42:03 +00:00
Bill Wendling
0ea18ff8e7 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
2007-01-24 03:41:36 +00:00
Bill Wendling
3d6d609aae Move the getJTRelocation method out of here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33479 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-24 03:40:33 +00:00
Bill Wendling
a4b7324fa0 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
2007-01-24 03:38:47 +00:00
Bill Wendling
8f5159e6b2 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
2007-01-24 03:38:14 +00:00
Bill Wendling
40fab4088e 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
2007-01-24 03:37:18 +00:00
Bill Wendling
841056a2ad 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
2007-01-24 03:36:05 +00:00
Evan Cheng
e966d6415c 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
2007-01-24 02:45:25 +00:00
Evan Cheng
06c2552830 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
2007-01-24 02:27:03 +00:00
Evan Cheng
79d4326b00 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
2007-01-24 02:21:22 +00:00
Evan Cheng
9e38e32dcd Thumb test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33471 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 23:28:50 +00:00
Evan Cheng
c38f2bc3c2 - 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
2007-01-23 22:59:13 +00:00
Devang Patel
c20048d05c Fix cut-n-pasto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33469 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 22:56:28 +00:00
Evan Cheng
7c3992f9c0 Thumb test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33468 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 22:47:58 +00:00
Devang Patel
d9f10c3d11 Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33467 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 21:55:17 +00:00
Devang Patel
97fd2439f2 Add CallGraphSCCPass::assignPassManager().
This enables CalLGraphPassManager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33466 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 21:52:35 +00:00
Evan Cheng
a6f567c89e Darwin HiddenDirective is .private_extern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33465 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 19:06:03 +00:00
Evan Cheng
6bc191a8ec Fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33464 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 17:49:33 +00:00
Anton Korobeynikov
daa3189ed0 One more small fix to documentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33463 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 12:43:53 +00:00
Anton Korobeynikov
8cea37b79a 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
2007-01-23 12:35:46 +00:00
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