Commit Graph

29288 Commits

Author SHA1 Message Date
Bill Wendling
40d776469d X86 implementation of the TargetELFWriterInfo class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33571 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 02:54:30 +00:00
Bill Wendling
4f45222baa The TargetELFWriterInfo class holds target-specific information for the ELF writer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33570 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 02:53:50 +00:00
Evan Cheng
198529aaf1 New entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33569 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 02:33:22 +00:00
Evan Cheng
d85ac4d079 Thumb jumptable support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33568 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 02:29:45 +00:00
Chris Lattner
bcabbfc310 simplify insert interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33567 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 02:13:58 +00:00
Chris Lattner
32f3bd43db clean up comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33566 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 01:14:20 +00:00
Chris Lattner
87c178c41e add an explanatory comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33565 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 00:23:45 +00:00
Reid Spencer
090acfb111 Apparently the last commit is wrong. Reverted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33564 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 00:21:01 +00:00
Reid Spencer
5fc73d9ac8 Remove a double negative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33563 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 00:16:07 +00:00
Evan Cheng
53d7dbafc3 Thumb add / sub with carry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33562 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 00:07:15 +00:00
Evan Cheng
7fd9b5ed7f Thumb tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33561 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 00:05:14 +00:00
Evan Cheng
1091a97107 Merge tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33560 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 00:04:57 +00:00
Lauro Ramos Venancio
ea9fc58bbf Some asm directives fixes for ELF.
Now we can compile llvm-gcc on arm-linux-gnueabi!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33558 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 23:24:43 +00:00
Jim Laskey
844b892246 Make the constant honest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33557 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 23:00:54 +00:00
Nate Begeman
3c983c3dc1 Fix a spelling error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33556 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 22:40:50 +00:00
Nate Begeman
6635f35cae Handle multiple functions, properly mangle symbols, and fix support for
scattered relocations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33555 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 22:39:48 +00:00
Chris Lattner
ea516cce65 fit in 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33553 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 21:48:40 +00:00
Jim Laskey
6da186480b rename files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33552 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 21:38:26 +00:00
Evan Cheng
3fdadfc9ab Represent tADDspi and tSUBspi as two-address instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33551 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 21:33:19 +00:00
Jim Laskey
44c3b9fdd4 Change the MachineDebugInfo to MachineModuleInfo to better reflect usage
for debugging and exception handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33550 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 21:22:28 +00:00
Lauro Ramos Venancio
fce1765a19 Fix Data16bitsDirective for ELF.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33549 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 21:20:45 +00:00
Evan Cheng
43aeab68a6 Conditional branch being fixed up is not the last MI in the BB, there is a
unconditional branch following it. Simply invert the condition and swap
destinations if the conditional branch can reach the destination of the
unconditional branch:
beq L1
b   L2
=>
bne L2
b   L1


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33548 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 20:38:26 +00:00
Reid Spencer
38f682b8b2 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33547 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 20:31:18 +00:00
Reid Spencer
8f78af9f8f Make sure that an upgraded index is also inserted into the VIndices
otherwise it gets ignored.

This fixes test/CodeGen/X86/2006-05-11-InstrSched.ll

Thanks to Evan Cheng for noticing this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33546 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 20:29:52 +00:00
Reid Spencer
d7c4f8ceff Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33545 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 19:59:25 +00:00
Reid Spencer
aa777bd8ad Ensure that gep_upgrade zext instructions we insert have unique names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33544 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 19:58:59 +00:00
Lauro Ramos Venancio
1a92d941b3 If the constant pool value is a extern weak symbol, emit the weak reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33543 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 19:51:32 +00:00
Evan Cheng
b60c02e005 extload -> zextload
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33542 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 19:13:16 +00:00
Reid Spencer
7e97288b62 Remove extraneous ; to make some versions of bison happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33541 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 18:26:23 +00:00
Devang Patel
758e7b1ed8 Order createSimplifyLibCallsPass() after a set of function level passes
so that these function passes are managed by CallGraphPassManager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33540 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 18:17:59 +00:00
Jim Laskey
a683f9ba13 Files missing from LABEL check in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33539 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 17:29:20 +00:00
Reid Spencer
9373d272b2 Remove the SignedType class and other dead code. Improve comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33538 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 17:13:53 +00:00
Jim Laskey
1ee2925742 Make LABEL a builtin opcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33537 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 14:34:52 +00:00
Jim Laskey
2b935d55b0 Clarify some constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33536 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 14:19:17 +00:00
Andrew Lenharth
c5e455d8ca Work around broken binutils on alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33535 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 13:34:50 +00:00
Reid Spencer
c04dc69095 For PR1122:
Test the upgradability of nested type definitions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33534 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:44:14 +00:00
Reid Spencer
e3ff5ada8a For PR761:
Remove "target endian/pointersize" or add "target datalayout" to make
the test parse properly or set the datalayout because defaults changes.

For PR645:
Make global names use the @ prefix.

For llvm-upgrade changes:
Fix test cases or completely remove use of llvm-upgrade for test cases
that cannot survive the new renaming or upgrade capabilities.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33533 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:25:06 +00:00
Reid Spencer
950bf60301 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33532 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:19:09 +00:00
Reid Spencer
efd53d57a6 For All These Bugs:
PR645
PR761
PR1082
PR1122

Completely rewrite llvm-upgrade. This should be its final design. Any future
changes will use this same design.  The changes involve the following:

1. Make this work very much like the 1.9 AsmParser
2. Retain old upgrades dating back to release 1.2 time frame.
3. Merge in some of the upgrades between 1.9 and 2.0 (e.g. icmp/fcmp).
4. Attach a Signedness value (Signless, Unsigned, Signed) to every type,
   Value, Constant, Instruction, and list of those things in the Parser.
   Use these to make signedness decisions for instruction upgrades.
5. Implement unique name upgrade for function values and global values.
6. Identify rename cases that might cause problems and warn about them.
   For example: renaming a global variable with external linkage.
7. Generate a 2.0 IR using VMCore. This is necessary for numerous
   reasons and has the advantage that it never goes out of date.
8. Use the AsmPrinter to make the output nice.
9. Clean up error and warning messages from 1.9 form.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33531 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:18:34 +00:00
Reid Spencer
26f238589f For PR761:
The Module::setEndianness and Module::setPointerSize methods have been
removed. Instead you can get/set the DataLayout. Adjust thise accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33530 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:11:39 +00:00
Reid Spencer
aacc35a794 For PR761:
Remove the Endianness and PointerSize fields from the ModuleHeader and
replace it with the DataLayout field.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33529 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:10:24 +00:00
Reid Spencer
4de76f4884 For PR761:
BCReader no longer has a header that contains the endinanness and
pointer size. It's been replaced by datalayout field.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33528 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:09:01 +00:00
Reid Spencer
f00c595bf5 For PR761:
Remove the setEndianess and setPointerSize methods. These are now
handled via the setDataLayout method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33527 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:07:57 +00:00
Reid Spencer
0ac611a54d For PR761:
Remove the setEndiannes and setPointerSize methods. These are now set
through the setDataLayout method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33526 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:07:01 +00:00
Reid Spencer
41dff5e4f7 Regenerate for PR645 and PR761
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33525 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:05:27 +00:00
Reid Spencer
b2d1786090 For PR645:
Implement separation of local and global symbols. Local symbols and types
now use % prefix. Global variables and functions now use @ prefix.

For PR761:
Replace:
  target endian =
  target pointersize =
With:
  target datalayout =


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33524 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:04:51 +00:00
Reid Spencer
3702d265b8 For PR645:
Implement new syntax for local and global symbols. Types and local
symbols use the % prefix. Global variables and functions use the @ prefix.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33523 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:02:52 +00:00
Reid Spencer
0fc052c36f For PR645:
Remove the Function::renameLocalSymbols function as it is no longer
needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33522 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:01:30 +00:00
Reid Spencer
43276ee280 IntegerType is a sized DerivedType too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33521 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 07:51:36 +00:00
Reid Spencer
3d10b0b2d3 Clean up comments and assert messages that still refer to the old type names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33520 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 07:37:34 +00:00