oota-llvm.git
17 years agoswitch the sched unit map over to use a DenseMap instead of std::map. This
Chris Lattner [Sat, 3 Feb 2007 01:34:13 +0000 (01:34 +0000)]
switch the sched unit map over to use a DenseMap instead of std::map.  This
speeds up isel as a whole time by 2.6%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33810 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSwitch ComputeTopDownOrdering over to using a densemap. This speeds up
Chris Lattner [Sat, 3 Feb 2007 01:12:36 +0000 (01:12 +0000)]
Switch ComputeTopDownOrdering over to using a densemap.  This speeds up
isel as a whole by 3.3%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33809 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago__builtin_isunordered test case.
Evan Cheng [Sat, 3 Feb 2007 00:50:45 +0000 (00:50 +0000)]
__builtin_isunordered test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33808 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1152:
Reid Spencer [Sat, 3 Feb 2007 00:44:47 +0000 (00:44 +0000)]
For PR1152:
Update documentation to reflect that this isn't a full-blown executable
any more.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33807 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPasto
Evan Cheng [Sat, 3 Feb 2007 00:43:46 +0000 (00:43 +0000)]
Pasto

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33806 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAnd even more correctly.
Reid Spencer [Sat, 3 Feb 2007 00:33:26 +0000 (00:33 +0000)]
And even more correctly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33805 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFormat the examples correctly.
Reid Spencer [Sat, 3 Feb 2007 00:32:23 +0000 (00:32 +0000)]
Format the examples correctly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33804 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1152:
Reid Spencer [Sat, 3 Feb 2007 00:21:56 +0000 (00:21 +0000)]
For PR1152:
Update documentation to reflect addition of gccas functionality into opt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33803 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoImproves alloca test. Verifies SP restoration.
Lauro Ramos Venancio [Sat, 3 Feb 2007 00:16:21 +0000 (00:16 +0000)]
Improves alloca test. Verifies SP restoration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33802 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSwitch inliner over to use DenseMap instead of std::map for ValueMap. This
Chris Lattner [Sat, 3 Feb 2007 00:08:31 +0000 (00:08 +0000)]
Switch inliner over to use DenseMap instead of std::map for ValueMap.  This
speeds up the inliner 16%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33801 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agobugfix: SP isn't resetted when function has FP and there is no spills.
Lauro Ramos Venancio [Fri, 2 Feb 2007 23:08:40 +0000 (23:08 +0000)]
bugfix: SP isn't resetted when function has FP and there is no spills.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33800 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSwitch this back to using an std::map. DenseMap entries are getting invalidated
Chris Lattner [Fri, 2 Feb 2007 22:36:16 +0000 (22:36 +0000)]
Switch this back to using an std::map.  DenseMap entries are getting invalidated

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33799 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoTwo improvements:
Reid Spencer [Fri, 2 Feb 2007 21:49:27 +0000 (21:49 +0000)]
Two improvements:
1. Allow -- as well as - options (Bill Wendling)
2. Pass unrecognized options to opt and let it handle the errors, if any
   (Chris Lattner).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33798 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agosilence annoying warning in release-asserts build
Chris Lattner [Fri, 2 Feb 2007 21:19:18 +0000 (21:19 +0000)]
silence annoying warning in release-asserts build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33797 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove more malloc thrashing, this speeds up IPSCCP on kimwitu another 6.7%.
Chris Lattner [Fri, 2 Feb 2007 21:15:06 +0000 (21:15 +0000)]
Remove more malloc thrashing, this speeds up IPSCCP on kimwitu another 6.7%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33796 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAnother thumb large stack offset codegen bug.
Evan Cheng [Fri, 2 Feb 2007 21:08:39 +0000 (21:08 +0000)]
Another thumb large stack offset codegen bug.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33795 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoConvert an std::set to SmallSet, this speeds up IPSCCP 17% on kimwitu.
Chris Lattner [Fri, 2 Feb 2007 20:57:39 +0000 (20:57 +0000)]
Convert an std::set to SmallSet, this speeds up IPSCCP 17% on kimwitu.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33794 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoeliminate a malloc/free for (almost) every GEP processed. This speeds up
Chris Lattner [Fri, 2 Feb 2007 20:51:48 +0000 (20:51 +0000)]
eliminate a malloc/free for (almost) every GEP processed.  This speeds up
IPSCCP 3.3% on kimwitu.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33793 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoswitch hash_map's over to DenseMap in SCCP. This speeds up SCCP by 30% in
Chris Lattner [Fri, 2 Feb 2007 20:38:30 +0000 (20:38 +0000)]
switch hash_map's over to DenseMap in SCCP.  This speeds up SCCP by 30% in
a release-assert build on kimwitu++.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33792 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd find/erase, add const iterators, fix bugs in iterators.
Chris Lattner [Fri, 2 Feb 2007 20:34:32 +0000 (20:34 +0000)]
add find/erase, add const iterators, fix bugs in iterators.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33791 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd iterators
Chris Lattner [Fri, 2 Feb 2007 19:27:13 +0000 (19:27 +0000)]
add iterators

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33790 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUse MBB.empty() instead of MBB.size() for speed.
Evan Cheng [Fri, 2 Feb 2007 19:09:19 +0000 (19:09 +0000)]
Use MBB.empty() instead of MBB.size() for speed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33789 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoWatch out for empty BB.
Evan Cheng [Fri, 2 Feb 2007 18:49:02 +0000 (18:49 +0000)]
Watch out for empty BB.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33788 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1152:
Reid Spencer [Fri, 2 Feb 2007 15:50:58 +0000 (15:50 +0000)]
For PR1152:
Step 2: Make plug compatible shell script to replace gccas binary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33787 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1152:
Reid Spencer [Fri, 2 Feb 2007 14:46:29 +0000 (14:46 +0000)]
For PR1152:
Step 1: Copy gccas functionality to opt. This endows opt with a new
-std-compile-opts option to get the set of optimization passes that
gccas used. It also adds -disable-inlining and -disable-opt which
both apply only if -std-compile-opts is given. The -strip-debug option
was also removed. It just makes sure that "-strip" gets done early and
is mostly there for compatibility with gccas. Finally, a new
-verify-each option will cause the verify pass to be run after each pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33786 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove dead code and fix indentation per Chris' review comments.
Reid Spencer [Fri, 2 Feb 2007 14:41:37 +0000 (14:41 +0000)]
Remove dead code and fix indentation per Chris' review comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33785 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUse short form of BinaryOperator create function.
Reid Spencer [Fri, 2 Feb 2007 14:09:34 +0000 (14:09 +0000)]
Use short form of BinaryOperator create function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33784 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUse short form of binary operator create functions.
Reid Spencer [Fri, 2 Feb 2007 14:08:20 +0000 (14:08 +0000)]
Use short form of binary operator create functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33783 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPut the Shift instructions in the right section.
Reid Spencer [Fri, 2 Feb 2007 13:57:07 +0000 (13:57 +0000)]
Put the Shift instructions in the right section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33782 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a comment that needed to change after SHIFT patch landed.
Reid Spencer [Fri, 2 Feb 2007 13:54:55 +0000 (13:54 +0000)]
Fix a comment that needed to change after SHIFT patch landed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33781 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUgh. Only meant to do this in thumb mode.
Evan Cheng [Fri, 2 Feb 2007 08:58:48 +0000 (08:58 +0000)]
Ugh. Only meant to do this in thumb mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33780 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agobugfix for reid's shift patch.
Chris Lattner [Fri, 2 Feb 2007 05:29:55 +0000 (05:29 +0000)]
bugfix for reid's shift patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33779 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd a note
Chris Lattner [Fri, 2 Feb 2007 04:36:46 +0000 (04:36 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33778 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago1. Break long lines to 80 col limit
Reid Spencer [Fri, 2 Feb 2007 02:30:19 +0000 (02:30 +0000)]
1. Break long lines to 80 col limit
2. Fix indentation
3. Renumber the instruction opcodes after the Shift became a binary operator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33777 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoChanges to support making the shift instructions be true BinaryOperators.
Reid Spencer [Fri, 2 Feb 2007 02:16:23 +0000 (02:16 +0000)]
Changes to support making the shift instructions be true BinaryOperators.
This feature is needed in order to support shifts of more than 255 bits
on large integer types.  This changes the syntax for llvm assembly to
make shl, ashr and lshr instructions look like a binary operator:
   shl i32 %X, 1
instead of
   shl i32 %X, i8 1
Additionally, this should help a few passes perform additional optimizations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33776 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a bug in getARMCMP (which translate CondCode to ARM specific CC) when the RHS...
Evan Cheng [Fri, 2 Feb 2007 01:53:26 +0000 (01:53 +0000)]
Fix a bug in getARMCMP (which translate CondCode to ARM specific CC) when the RHS is a constant.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33775 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThumb does not have clz.
Evan Cheng [Thu, 1 Feb 2007 23:34:03 +0000 (23:34 +0000)]
Thumb does not have clz.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33773 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDump function names when debug-pass=Executions is used.
Devang Patel [Thu, 1 Feb 2007 22:38:33 +0000 (22:38 +0000)]
Dump function names when debug-pass=Executions is used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33772 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix Transforms/InstCombine/2007-02-01-LoadSinkAlloca.ll, a serious code
Chris Lattner [Thu, 1 Feb 2007 22:30:07 +0000 (22:30 +0000)]
Fix Transforms/InstCombine/2007-02-01-LoadSinkAlloca.ll, a serious code
pessimization where instcombine can sink a load (good for code size) that
prevents an alloca from being promoted by mem2reg (bad for everything).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33771 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonew testcase for serious code pessimization
Chris Lattner [Thu, 1 Feb 2007 22:29:26 +0000 (22:29 +0000)]
new testcase for serious code pessimization

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33770 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMy mistake, my environment wasn't up to date. This passes now.
Reid Spencer [Thu, 1 Feb 2007 22:26:42 +0000 (22:26 +0000)]
My mistake, my environment wasn't up to date. This passes now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33769 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoXFAIL this on x86 linux as it continues to fail.
Reid Spencer [Thu, 1 Feb 2007 22:10:46 +0000 (22:10 +0000)]
XFAIL this on x86 linux as it continues to fail.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33768 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPretty print pass managers.
Devang Patel [Thu, 1 Feb 2007 22:10:12 +0000 (22:10 +0000)]
Pretty print pass managers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33767 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPretty print pass manager
Devang Patel [Thu, 1 Feb 2007 22:09:37 +0000 (22:09 +0000)]
Pretty print pass manager

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33766 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agocvs commit
Devang Patel [Thu, 1 Feb 2007 22:08:25 +0000 (22:08 +0000)]
cvs commit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33765 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake sure the value passed to test function is initialized.
Reid Spencer [Thu, 1 Feb 2007 21:58:46 +0000 (21:58 +0000)]
Make sure the value passed to test function is initialized.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33764 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDefine PrivateGlobalPrefix for ARM Linux. (Fix CodeGen/ARM/large_stack.ll)
Lauro Ramos Venancio [Thu, 1 Feb 2007 21:43:53 +0000 (21:43 +0000)]
Define PrivateGlobalPrefix for ARM Linux. (Fix CodeGen/ARM/large_stack.ll)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33763 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPasto. Lots of it.
Evan Cheng [Thu, 1 Feb 2007 20:44:52 +0000 (20:44 +0000)]
Pasto. Lots of it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33762 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoEnsure that ConvertOperandToType generates a result conversion by
Reid Spencer [Thu, 1 Feb 2007 19:14:51 +0000 (19:14 +0000)]
Ensure that ConvertOperandToType generates a result conversion by
initializing the Res variable to 0 and asserting it is not zero after the
result should have been created.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33761 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix bugs in the inliner having to do with single-entry phi nodes and valuemap
Chris Lattner [Thu, 1 Feb 2007 18:48:38 +0000 (18:48 +0000)]
Fix bugs in the inliner having to do with single-entry phi nodes and valuemap
updating.  These were exposed by Devang's recent passmgr changes (with
non-default passorderings) because now the inliner can be interleved with
the LCSSA pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33760 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix .thumb_func directive on linux.
Lauro Ramos Venancio [Thu, 1 Feb 2007 18:25:34 +0000 (18:25 +0000)]
Fix .thumb_func directive on linux.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33759 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSlip up
Jim Laskey [Thu, 1 Feb 2007 17:48:20 +0000 (17:48 +0000)]
Slip up

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33758 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoEmit labels as label_n and not as debug_n
Jim Laskey [Thu, 1 Feb 2007 17:46:10 +0000 (17:46 +0000)]
Emit labels as label_n and not as debug_n

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33757 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agopreserve sections of globals
Andrew Lenharth [Thu, 1 Feb 2007 17:12:54 +0000 (17:12 +0000)]
preserve sections of globals

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33756 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSupport for non-landing pad exception handling.
Jim Laskey [Thu, 1 Feb 2007 16:31:34 +0000 (16:31 +0000)]
Support for non-landing pad exception handling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33755 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a homonymo in a comment.
Reid Spencer [Thu, 1 Feb 2007 12:09:51 +0000 (12:09 +0000)]
Fix a homonymo in a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33754 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago- Off by one bugs in maximum displacement calculation / testing.
Evan Cheng [Thu, 1 Feb 2007 10:16:15 +0000 (10:16 +0000)]
- Off by one bugs in maximum displacement calculation / testing.
- In thumb mode, a new constpool island BB size should be 4 + 2 to
  compensate for the potential padding due to alignment requirement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33753 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFixed uninitialized stuff inside LegalizeDAG. Fortunately, the only
Anton Korobeynikov [Thu, 1 Feb 2007 08:39:52 +0000 (08:39 +0000)]
Fixed uninitialized stuff inside LegalizeDAG. Fortunately, the only
affected part is codegen of "memove" inside x86 backend. This fixes
PR1144

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33752 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd a new dense hash table implementation
Chris Lattner [Thu, 1 Feb 2007 07:49:59 +0000 (07:49 +0000)]
Add a new dense hash table implementation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33751 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoimprove comments, add an assertion
Chris Lattner [Thu, 1 Feb 2007 05:33:21 +0000 (05:33 +0000)]
improve comments, add an assertion

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33750 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agorename DenseMap to IndexedMap.
Chris Lattner [Thu, 1 Feb 2007 05:32:05 +0000 (05:32 +0000)]
rename DenseMap to IndexedMap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33749 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agorename DenseMap -> IndexedMap.
Chris Lattner [Thu, 1 Feb 2007 05:28:10 +0000 (05:28 +0000)]
rename DenseMap -> IndexedMap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33748 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agosilence some warnings when assertions are disabled.
Chris Lattner [Thu, 1 Feb 2007 04:59:37 +0000 (04:59 +0000)]
silence some warnings when assertions are disabled.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33747 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agosilence warning
Chris Lattner [Thu, 1 Feb 2007 04:57:00 +0000 (04:57 +0000)]
silence warning

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33746 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFit in 80 columns
Chris Lattner [Thu, 1 Feb 2007 04:55:59 +0000 (04:55 +0000)]
Fit in 80 columns

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33745 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago.set pc relative displacement bug: label should be moved down one instruction
Evan Cheng [Thu, 1 Feb 2007 03:04:49 +0000 (03:04 +0000)]
.set pc relative displacement bug: label should be moved down one instruction
to just before the add r1, pc:

Before:
        .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
LPCRELL0:
        mov r1, #PCRELV0
        add r1, pc

Now:
        .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
        mov r1, #PCRELV0
LPCRELL0:
        add r1, pc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33744 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd a note.
Evan Cheng [Thu, 1 Feb 2007 02:46:20 +0000 (02:46 +0000)]
Add a note.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33743 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd a test case.
Evan Cheng [Thu, 1 Feb 2007 02:27:24 +0000 (02:27 +0000)]
Add a test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33742 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAlso set alignment of stack-based structs to 4 in thumb mode.
Evan Cheng [Thu, 1 Feb 2007 02:18:36 +0000 (02:18 +0000)]
Also set alignment of stack-based structs to 4 in thumb mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33741 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdded a thumb vararg test.
Evan Cheng [Thu, 1 Feb 2007 01:56:43 +0000 (01:56 +0000)]
Added a thumb vararg test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33740 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSpecial epilogue for vararg functions. We cannot do a pop to pc because
Evan Cheng [Thu, 1 Feb 2007 01:49:46 +0000 (01:49 +0000)]
Special epilogue for vararg functions. We cannot do a pop to pc because
there follows a sp increment for the va register save region. Instead issue
a separate pop to another register, increment sp, and then return:
        pop {r4, r5, r6, r7}
        pop {r3}
        add sp, #3 * 4
        bx r3

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33739 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd printVersion(). Linker can use it to print LLVM version number.
Devang Patel [Thu, 1 Feb 2007 01:46:06 +0000 (01:46 +0000)]
Add printVersion(). Linker can use it to print LLVM version number.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33738 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd PrintVersionMessage() that tools can use to print version number
Devang Patel [Thu, 1 Feb 2007 01:43:37 +0000 (01:43 +0000)]
Add PrintVersionMessage() that tools can use to print version number
without exiting program.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33737 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoEmit a better assertion message for PR1133
Chris Lattner [Thu, 1 Feb 2007 01:21:12 +0000 (01:21 +0000)]
Emit a better assertion message for PR1133

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33736 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoInclude Makefile.config before testing OS.
Devang Patel [Thu, 1 Feb 2007 01:18:57 +0000 (01:18 +0000)]
Include Makefile.config before testing OS.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33735 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPessmistically assume the .align 2 before the first constpool entry adds
Evan Cheng [Thu, 1 Feb 2007 01:09:47 +0000 (01:09 +0000)]
Pessmistically assume the .align 2 before the first constpool entry adds
two bytes padding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33734 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPossible JT improvements.
Evan Cheng [Thu, 1 Feb 2007 01:07:48 +0000 (01:07 +0000)]
Possible JT improvements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33733 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix CodeGen/PowerPC/2007-01-31-InlineAsmAddrMode.ll
Chris Lattner [Thu, 1 Feb 2007 00:39:08 +0000 (00:39 +0000)]
Fix CodeGen/PowerPC/2007-01-31-InlineAsmAddrMode.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33732 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonew testcase
Chris Lattner [Thu, 1 Feb 2007 00:38:56 +0000 (00:38 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33731 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix test case.
Evan Cheng [Wed, 31 Jan 2007 23:51:35 +0000 (23:51 +0000)]
Fix test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33730 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDon't emit unnecessary .align directive.
Evan Cheng [Wed, 31 Jan 2007 23:39:39 +0000 (23:39 +0000)]
Don't emit unnecessary .align directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33729 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoHandle an interesting corner case: the constpool_entry being reference is two
Evan Cheng [Wed, 31 Jan 2007 23:35:18 +0000 (23:35 +0000)]
Handle an interesting corner case: the constpool_entry being reference is two
instructions away, i.e. its address is equal to PC.
        %r0 = tLDRpci <cp#0>
        bx
        CONSTPOOL_ENTRY 0 <cp#0>, 4

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33728 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDon't want to add FramePtr to callee save spill list twice.
Evan Cheng [Wed, 31 Jan 2007 23:17:29 +0000 (23:17 +0000)]
Don't want to add FramePtr to callee save spill list twice.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33727 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix build breakage by using correct arguments to getIndexedType in the
Reid Spencer [Wed, 31 Jan 2007 22:30:26 +0000 (22:30 +0000)]
Fix build breakage by using correct arguments to getIndexedType in the
GEP constructors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33726 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix test cases.
Evan Cheng [Wed, 31 Jan 2007 22:27:07 +0000 (22:27 +0000)]
Fix test cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33725 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDarwin ABI requires FP to point to stack slot of prev FP.
Evan Cheng [Wed, 31 Jan 2007 22:25:33 +0000 (22:25 +0000)]
Darwin ABI requires FP to point to stack slot of prev FP.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33724 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd entry.
Evan Cheng [Wed, 31 Jan 2007 22:11:38 +0000 (22:11 +0000)]
Add entry.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33723 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThumb add sp, #imm requires the immediate value be multiple of 4. For now,
Evan Cheng [Wed, 31 Jan 2007 22:08:40 +0000 (22:08 +0000)]
Thumb add sp, #imm requires the immediate value be multiple of 4. For now,
change preferred alignment of short, byte, bool to 4.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33722 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUpdate comment.
Evan Cheng [Wed, 31 Jan 2007 22:06:44 +0000 (22:06 +0000)]
Update comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33721 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPreview of the shift instructions becoming Binary Operators.
Reid Spencer [Wed, 31 Jan 2007 21:39:12 +0000 (21:39 +0000)]
Preview of the shift instructions becoming Binary Operators.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33720 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDead comment.
Evan Cheng [Wed, 31 Jan 2007 21:31:25 +0000 (21:31 +0000)]
Dead comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33719 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd some debug output.
Reid Spencer [Wed, 31 Jan 2007 21:27:38 +0000 (21:27 +0000)]
Add some debug output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33718 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThumb asm syntax does not want 's' suffix for flag setting opcodes.
Evan Cheng [Wed, 31 Jan 2007 20:12:31 +0000 (20:12 +0000)]
Thumb asm syntax does not want 's' suffix for flag setting opcodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33717 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoshutdown the app when done.
Chris Lattner [Wed, 31 Jan 2007 20:10:54 +0000 (20:10 +0000)]
shutdown the app when done.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33716 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoremove temporary vectors.
Chris Lattner [Wed, 31 Jan 2007 20:08:52 +0000 (20:08 +0000)]
remove temporary vectors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33715 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd missing ctor
Chris Lattner [Wed, 31 Jan 2007 20:08:34 +0000 (20:08 +0000)]
add missing ctor

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33714 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoeliminate temporary vectors
Chris Lattner [Wed, 31 Jan 2007 20:07:32 +0000 (20:07 +0000)]
eliminate temporary vectors

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33713 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoeliminate temporary vectors
Chris Lattner [Wed, 31 Jan 2007 19:59:55 +0000 (19:59 +0000)]
eliminate temporary vectors

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33712 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoWhen determining whether a pc relative branch / load displacement fits in the
Evan Cheng [Wed, 31 Jan 2007 19:57:44 +0000 (19:57 +0000)]
When determining whether a pc relative branch / load displacement fits in the
instruction field, adjust it for PC value (4 for thumb, 8 for arm).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33711 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoeliminate a temporary vector while parsing gep's from bc files.
Chris Lattner [Wed, 31 Jan 2007 19:56:15 +0000 (19:56 +0000)]
eliminate a temporary vector while parsing gep's from bc files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33710 91177308-0d34-0410-b5e6-96231b3b80d8