oota-llvm.git
18 years agoTidy up options.
Jim Laskey [Tue, 29 Aug 2006 15:13:10 +0000 (15:13 +0000)]
Tidy up options.

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

18 years agoAvoid making unneeded load/mod/store transformation which can hurt performance.
Evan Cheng [Tue, 29 Aug 2006 06:44:17 +0000 (06:44 +0000)]
Avoid making unneeded load/mod/store transformation which can hurt performance.

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

18 years agoMove isCommutativeBinOp from SelectionDAG.cpp and DAGCombiner.cpp out. Make it a...
Evan Cheng [Tue, 29 Aug 2006 06:42:35 +0000 (06:42 +0000)]
Move isCommutativeBinOp from SelectionDAG.cpp and DAGCombiner.cpp out. Make it a static method of SelectionDAG.

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

18 years agoClean up a bit.
Owen Anderson [Tue, 29 Aug 2006 06:10:56 +0000 (06:10 +0000)]
Clean up a bit.

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

18 years agoMake ppc64 jit kinda work right. About 2/3 of Olden passes with this,
Nate Begeman [Tue, 29 Aug 2006 02:30:59 +0000 (02:30 +0000)]
Make ppc64 jit kinda work right.  About 2/3 of Olden passes with this,
there are clearly some encoding bugs lurking in there somewhere.

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

18 years agoThe list is sorted by name.
Nick Lewycky [Tue, 29 Aug 2006 01:42:47 +0000 (01:42 +0000)]
The list is sorted by name.

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

18 years agoAdd PredicateSimplifier pass. Collapses equal variables into one form
Nick Lewycky [Mon, 28 Aug 2006 22:44:55 +0000 (22:44 +0000)]
Add PredicateSimplifier pass. Collapses equal variables into one form
and simplifies expressions. This implements the optimization described
in PR807.

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

18 years agoOn Mac, print jump table entries after the function to work around a linker issue.
Evan Cheng [Mon, 28 Aug 2006 22:14:16 +0000 (22:14 +0000)]
On Mac, print jump table entries after the function to work around a linker issue.

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

18 years agoAdd 2nd form of resize
Chris Lattner [Mon, 28 Aug 2006 21:52:08 +0000 (21:52 +0000)]
Add 2nd form of resize

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

18 years agoAdd an optional pass to preprocess the DAG before x86 isel to allow selecting more...
Evan Cheng [Mon, 28 Aug 2006 20:10:17 +0000 (20:10 +0000)]
Add an optional pass to preprocess the DAG before x86 isel to allow selecting more load/mod/store instructions.

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

18 years agoAdd a --disable-compression option like llvm-link/llvm-as etc have
Chris Lattner [Mon, 28 Aug 2006 17:31:55 +0000 (17:31 +0000)]
Add a --disable-compression option like llvm-link/llvm-as etc have

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

18 years agoremove extraneous space
Chris Lattner [Mon, 28 Aug 2006 17:30:49 +0000 (17:30 +0000)]
remove extraneous space

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

18 years agoSpell naively with the i-Umlaut...
Bill Wendling [Mon, 28 Aug 2006 03:04:05 +0000 (03:04 +0000)]
Spell naively with the i-Umlaut...

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

18 years agoMessed up and put a "To be written" in a section that was written.
Bill Wendling [Mon, 28 Aug 2006 02:57:41 +0000 (02:57 +0000)]
Messed up and put a "To be written" in a section that was written.

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

18 years agoAdded some preliminary text to the TargetJITInfo class section.
Bill Wendling [Mon, 28 Aug 2006 02:26:32 +0000 (02:26 +0000)]
Added some preliminary text to the TargetJITInfo class section.
Fixed some inconsistencies with format. Corrected some of the text.
Put code inside of "code" div tags.

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

18 years agoMake LoopUnroll fold excessive BasicBlocks. This results in a significant speedup of
Owen Anderson [Mon, 28 Aug 2006 02:09:46 +0000 (02:09 +0000)]
Make LoopUnroll fold excessive BasicBlocks.  This results in a significant speedup of
gccas on 252.eon

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

18 years agoBack out last revision which should not have been committed (yet).
Reid Spencer [Mon, 28 Aug 2006 01:08:45 +0000 (01:08 +0000)]
Back out last revision which should not have been committed (yet).

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

18 years agoFor PR387:
Reid Spencer [Mon, 28 Aug 2006 01:02:49 +0000 (01:02 +0000)]
For PR387:
Close out this long standing bug by removing the remaining overloaded
virtual functions in LLVM. The -Woverloaded-virtual option is now turned on.

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

18 years agoUpdate to match changes in RegisterAnalysisGroup usage
Chris Lattner [Mon, 28 Aug 2006 00:45:38 +0000 (00:45 +0000)]
Update to match changes in RegisterAnalysisGroup usage

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

18 years agosimplify AnalysisGroup registration, eliminating one typeid call.
Chris Lattner [Mon, 28 Aug 2006 00:42:29 +0000 (00:42 +0000)]
simplify AnalysisGroup registration, eliminating one typeid call.

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

18 years agoExcise references to the now defunct "analyze" tool. Merge descriptions
Reid Spencer [Mon, 28 Aug 2006 00:34:19 +0000 (00:34 +0000)]
Excise references to the now defunct "analyze" tool. Merge descriptions
where appropriate.

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

18 years agoAdd virtual methods to all subclasses so they are not overloaded.
Reid Spencer [Mon, 28 Aug 2006 00:12:25 +0000 (00:12 +0000)]
Add virtual methods to all subclasses so they are not overloaded.

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

18 years agoSilence -Woverloaded-virtual warnings.
Chris Lattner [Mon, 28 Aug 2006 00:09:00 +0000 (00:09 +0000)]
Silence -Woverloaded-virtual warnings.

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

18 years agoupdate doc: analyze is gone and passes should just use RegisterPass
Chris Lattner [Sun, 27 Aug 2006 23:18:52 +0000 (23:18 +0000)]
update doc: analyze is gone and passes should just use RegisterPass

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

18 years agoUpdate tests now that opt no longer reads .ll files
Chris Lattner [Sun, 27 Aug 2006 22:47:14 +0000 (22:47 +0000)]
Update tests now that opt no longer reads .ll files

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

18 years agoAdjust tests now that opt doesn't read .ll files.
Chris Lattner [Sun, 27 Aug 2006 22:44:20 +0000 (22:44 +0000)]
Adjust tests now that opt doesn't read .ll files.

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

18 years agoeliminate RegisterOpt. It does the same thing as RegisterPass.
Chris Lattner [Sun, 27 Aug 2006 22:42:52 +0000 (22:42 +0000)]
eliminate RegisterOpt.  It does the same thing as RegisterPass.

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

18 years agoopt no longer reads .ll files. Run llvm-as explicitly.
Chris Lattner [Sun, 27 Aug 2006 22:41:58 +0000 (22:41 +0000)]
opt no longer reads .ll files.  Run llvm-as explicitly.

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

18 years ago-analyze mode shouldn't output a .bc file.
Chris Lattner [Sun, 27 Aug 2006 22:40:26 +0000 (22:40 +0000)]
-analyze mode shouldn't output a .bc file.

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

18 years agoFit to 80 cols
Chris Lattner [Sun, 27 Aug 2006 22:31:12 +0000 (22:31 +0000)]
Fit to 80 cols

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

18 years agoEliminate RegisterAnalysis. RegisterPass now does all that is necessary.
Chris Lattner [Sun, 27 Aug 2006 22:30:17 +0000 (22:30 +0000)]
Eliminate RegisterAnalysis.  RegisterPass now does all that is necessary.

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

18 years agoWe no longer care whether something is an opt vs analysis pass, only whether
Chris Lattner [Sun, 27 Aug 2006 22:21:55 +0000 (22:21 +0000)]
We no longer care whether something is an opt vs analysis pass, only whether
something is a pass vs an analysis group now.  Simplify interfaces.

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

18 years agoanalyze no longer exists, don't offer to run it :)
Chris Lattner [Sun, 27 Aug 2006 22:12:06 +0000 (22:12 +0000)]
analyze no longer exists, don't offer to run it :)

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

18 years agoRemove a dead class.
Chris Lattner [Sun, 27 Aug 2006 22:11:07 +0000 (22:11 +0000)]
Remove a dead class.

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

18 years agoMinor code cleanups
Chris Lattner [Sun, 27 Aug 2006 22:10:29 +0000 (22:10 +0000)]
Minor code cleanups

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

18 years agoeliminate only use of FilteredPassNameParser
Chris Lattner [Sun, 27 Aug 2006 22:07:43 +0000 (22:07 +0000)]
eliminate only use of FilteredPassNameParser

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

18 years agoMerge the 'analyze' mode code with the 'opt' mode code. Eliminate the
Chris Lattner [Sun, 27 Aug 2006 22:07:01 +0000 (22:07 +0000)]
Merge the 'analyze' mode code with the 'opt' mode code.  Eliminate the
'autodetect .ll files' functionality.

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

18 years agoMove this test from Codegen/PowerPC to CodeGen/Generic. It fails on ia64,
Chris Lattner [Sun, 27 Aug 2006 20:52:00 +0000 (20:52 +0000)]
Move this test from Codegen/PowerPC to CodeGen/Generic.  It fails on ia64,
but that's not the ppc backend's fault.

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

18 years agoUse compiler.h instead of hand rolling our own macro
Chris Lattner [Sun, 27 Aug 2006 13:16:24 +0000 (13:16 +0000)]
Use compiler.h instead of hand rolling our own macro

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

18 years agoadd directive to disable inlining
Chris Lattner [Sun, 27 Aug 2006 13:16:05 +0000 (13:16 +0000)]
add directive to disable inlining

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

18 years agos|llvm/Support/Visibility.h|llvm/Support/Compiler.h|
Chris Lattner [Sun, 27 Aug 2006 12:54:02 +0000 (12:54 +0000)]
s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|

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

18 years agotypo fix
Chris Lattner [Sun, 27 Aug 2006 12:47:48 +0000 (12:47 +0000)]
typo fix

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

18 years agoAdd external definitions for commonly-used template specializations and add
Chris Lattner [Sun, 27 Aug 2006 12:45:47 +0000 (12:45 +0000)]
Add external definitions for commonly-used template specializations and add
anchor methods to others.  This eliminates the vtable/template method bloat
in .o files that defining a cl::opt used to impose (~4K per .o file for one
cp::opt<unsigned>).

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

18 years agoNew place to put compiler-specific functionality. This replaces Visibility.h,
Chris Lattner [Sun, 27 Aug 2006 12:42:45 +0000 (12:42 +0000)]
New place to put compiler-specific functionality.  This replaces Visibility.h,
and provides macros that can be used to make explicit instantiations of
template specializations, which is a gcc-specific feature.

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

18 years agoDo not use getTargetNode() and SelectNodeTo() which takes more than 3
Evan Cheng [Sun, 27 Aug 2006 08:14:06 +0000 (08:14 +0000)]
Do not use getTargetNode() and SelectNodeTo() which takes more than 3
SDOperand arguments. Use the variants which take an array and number instead.

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

18 years agoDo not emit getTargetNode() and SelectNodeTo() which takes more than 3
Evan Cheng [Sun, 27 Aug 2006 08:11:28 +0000 (08:11 +0000)]
Do not emit getTargetNode() and SelectNodeTo() which takes more than 3
SDOperand arguments. Use the variants which take an array and number instead.

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

18 years agoEliminate SelectNodeTo() and getTargetNode() variants which take more than
Evan Cheng [Sun, 27 Aug 2006 08:08:54 +0000 (08:08 +0000)]
Eliminate SelectNodeTo() and getTargetNode() variants which take more than
3 SDOperand operands. They are replaced by versions which take an array
of SDOperand and the number of operands.

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

18 years agomake optional pointer really optional
Chris Lattner [Sun, 27 Aug 2006 07:11:54 +0000 (07:11 +0000)]
make optional pointer really optional

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

18 years agoFix target matching weights, so that ppc-darwin modules are codegen with the
Chris Lattner [Sat, 26 Aug 2006 21:33:05 +0000 (21:33 +0000)]
Fix target matching weights, so that ppc-darwin modules are codegen with the
ppc target, not the itanium target, when run on an itanium machine.
This should fix the CodeGen/PowerPC regtest failures on itanium.

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

18 years agoProperly size the string table, and emit symbol table and string table
Nate Begeman [Sat, 26 Aug 2006 15:46:34 +0000 (15:46 +0000)]
Properly size the string table, and emit symbol table and string table
entries in the correct order, fixing several fixmes.

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

18 years agoSelectNodeTo now returns a SDNode*.
Evan Cheng [Sat, 26 Aug 2006 08:00:10 +0000 (08:00 +0000)]
SelectNodeTo now returns a SDNode*.

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

18 years agoMinor getCopyToReg() call change.
Evan Cheng [Sat, 26 Aug 2006 07:39:28 +0000 (07:39 +0000)]
Minor getCopyToReg() call change.

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

18 years agoImproved codegen due to Chris' live interval joining changes.
Evan Cheng [Sat, 26 Aug 2006 07:38:36 +0000 (07:38 +0000)]
Improved codegen due to Chris' live interval joining changes.

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

18 years agoSelect() no longer require Result operand by reference.
Evan Cheng [Sat, 26 Aug 2006 05:34:46 +0000 (05:34 +0000)]
Select() no longer require Result operand by reference.

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

18 years agoRemove dead code.
Evan Cheng [Sat, 26 Aug 2006 01:34:15 +0000 (01:34 +0000)]
Remove dead code.

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

18 years agoSimplifications to liveinterval analysis, no functionality change.
Chris Lattner [Sat, 26 Aug 2006 01:28:16 +0000 (01:28 +0000)]
Simplifications to liveinterval analysis, no functionality change.

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

18 years agoMatch tblgen changes.
Evan Cheng [Sat, 26 Aug 2006 01:07:58 +0000 (01:07 +0000)]
Match tblgen changes.

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

18 years agoMatch tblgen changes; clean up.
Evan Cheng [Sat, 26 Aug 2006 01:05:16 +0000 (01:05 +0000)]
Match tblgen changes; clean up.

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

18 years agoA bit more clean up.
Evan Cheng [Sat, 26 Aug 2006 01:02:19 +0000 (01:02 +0000)]
A bit more clean up.

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

18 years ago- Clean up tablegen dag isel generator code.
Evan Cheng [Sat, 26 Aug 2006 00:59:04 +0000 (00:59 +0000)]
- Clean up tablegen dag isel generator code.
- Clean up the code generated by tablegen:
  * AddToISelQueue now takes one argument.
  * ComplexPattern matching condition can now be shared.
  * Eliminate passing unnecessary arguments to emit routines.
  * Eliminate some unneeded SDOperand declarations in select routines.
  * Other minor clean ups.
- This reduces foot print slightly: X86ISelDAGToDAG.o is reduced from 971k
  to 823k.

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

18 years agoGive a good error message when we try to jit inline asm.
Chris Lattner [Sat, 26 Aug 2006 00:47:03 +0000 (00:47 +0000)]
Give a good error message when we try to jit inline asm.

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

18 years agoCompletely change the way that joining with physregs is implemented. This
Chris Lattner [Fri, 25 Aug 2006 23:41:24 +0000 (23:41 +0000)]
Completely change the way that joining with physregs is implemented.  This
paves the way for future changes, increases coallescing opportunities (in
theory, not witnessed in practice), and eliminates the really expensive
LiveIntervals::overlapsAliases method.

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

18 years agoAdd a comment.
Evan Cheng [Fri, 25 Aug 2006 23:29:06 +0000 (23:29 +0000)]
Add a comment.

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

18 years agoTidy up.
Jim Laskey [Fri, 25 Aug 2006 22:56:30 +0000 (22:56 +0000)]
Tidy up.

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

18 years agoFix a crash related to updating Phi nodes in the original header block. This was
Owen Anderson [Fri, 25 Aug 2006 22:13:55 +0000 (22:13 +0000)]
Fix a crash related to updating Phi nodes in the original header block.  This was
causing a crash in 175.vpr

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

18 years agoAdd an assertion to check that we're really preserving LCSSA.
Owen Anderson [Fri, 25 Aug 2006 22:12:36 +0000 (22:12 +0000)]
Add an assertion to check that we're really preserving LCSSA.

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

18 years agoEncode pc-relative conditional branch offset as pc+(num of bytes / 4). The
Evan Cheng [Fri, 25 Aug 2006 21:54:44 +0000 (21:54 +0000)]
Encode pc-relative conditional branch offset as pc+(num of bytes / 4). The
asm printer will print it as offset*4. e.g. bne cr0, $+8.

The PPC code emitter was expecting the offset to be number of instructions, not
number of bytes. This fixes a whole bunch of JIT failures.

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

18 years agoFor PR797:
Reid Spencer [Fri, 25 Aug 2006 21:37:17 +0000 (21:37 +0000)]
For PR797:
Make the Win32 code exception free (untested/uncompiled) which forced some
interface changes which had ripple effect. This should be the last of 797.

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

18 years agoDoh! Commit the change that turns ON -fno-exceptions.
Reid Spencer [Fri, 25 Aug 2006 20:56:59 +0000 (20:56 +0000)]
Doh! Commit the change that turns ON -fno-exceptions.

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

18 years agoFor PR797:
Reid Spencer [Fri, 25 Aug 2006 19:54:53 +0000 (19:54 +0000)]
For PR797:
Final commit for this bug. This removes the last EH holdouts in LLVM
and turns off exception support by using the -fno-exceptions option. This
leads to the following reduction in library and executable sizes:
                DEBUG BUILD                RELEASE BUILD
         before     after   delta     before   after    delta
lib    162,328K  157,616K   4,712    17,864K  16,416K  1,448K
bin    571,444K  557,156K  14,288    63,296K   56,996K 6,300K

Debug   Improvement: 19,000K (2.59%)
Release Improvement:  7,748K (9.55%)

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

18 years agoConsolidate callee saved register information so that it can me used by debug
Jim Laskey [Fri, 25 Aug 2006 19:45:51 +0000 (19:45 +0000)]
Consolidate callee saved register information so that it can me used by debug
information and exception handling.

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

18 years agoFix some comments.
Jim Laskey [Fri, 25 Aug 2006 19:40:59 +0000 (19:40 +0000)]
Fix some comments.

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

18 years agoAllow for register numbers > 31.
Jim Laskey [Fri, 25 Aug 2006 19:39:52 +0000 (19:39 +0000)]
Allow for register numbers > 31.

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

18 years agotest case for varargs functions
Rafael Espindola [Fri, 25 Aug 2006 17:57:36 +0000 (17:57 +0000)]
test case for varargs functions

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

18 years agouse @ for comments
Rafael Espindola [Fri, 25 Aug 2006 17:55:16 +0000 (17:55 +0000)]
use @ for comments
store LR in an arbitrary stack slot
add support for writing varargs functions

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

18 years agoFor PR797:
Reid Spencer [Fri, 25 Aug 2006 17:43:11 +0000 (17:43 +0000)]
For PR797:
Remove exception throwing/handling from lib/Bytecode, and adjust its users
to compensate for changes in the interface.

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

18 years agoReapply the indvars patch, since nothing blew up last night.
Owen Anderson [Fri, 25 Aug 2006 17:41:25 +0000 (17:41 +0000)]
Reapply the indvars patch, since nothing blew up last night.

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

18 years agoFix a race condition in the makefile that broke grawp's tester last night.
Chris Lattner [Fri, 25 Aug 2006 17:15:23 +0000 (17:15 +0000)]
Fix a race condition in the makefile that broke grawp's tester last night.

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

18 years agoBring Xcode project up to date.
Jim Laskey [Fri, 25 Aug 2006 14:16:49 +0000 (14:16 +0000)]
Bring Xcode project up to date.

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

18 years agoGet closer to handling globals correctly. We now generally get them in the
Nate Begeman [Fri, 25 Aug 2006 06:36:58 +0000 (06:36 +0000)]
Get closer to handling globals correctly.  We now generally get them in the
right section.

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

18 years agoFix a bug introduced by a change in the Archive::writeToDisk interface.
Reid Spencer [Fri, 25 Aug 2006 05:29:36 +0000 (05:29 +0000)]
Fix a bug introduced by a change in the Archive::writeToDisk interface.

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

18 years agoFix a bug caused by change in the interface of Archive::writeToDisk.
Reid Spencer [Fri, 25 Aug 2006 05:28:17 +0000 (05:28 +0000)]
Fix a bug caused by change in the interface of Archive::writeToDisk.

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

18 years agoRevert my previous patch. Since there are some major changes that went in today,
Owen Anderson [Fri, 25 Aug 2006 03:45:57 +0000 (03:45 +0000)]
Revert my previous patch.  Since there are some major changes that went in today,
I'm going to wait to put this in HEAD until tomorrow, so as not to clutter the nightly
tester.

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

18 years agoSpecify that indvars actually preserve LCSSA. This has been done for a while, but I
Owen Anderson [Fri, 25 Aug 2006 03:32:13 +0000 (03:32 +0000)]
Specify that  indvars actually preserve LCSSA.  This has been done for a while, but I
forgot to put in the analysis usage.

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

18 years agoFor PR797:
Reid Spencer [Thu, 24 Aug 2006 23:45:08 +0000 (23:45 +0000)]
For PR797:
Remove exception handling from the bytecode archiver and adjust the llvm-ar
tool to accommodate the new interfaces.

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

18 years agoWhen replacing value numbers, make sure to compactify the value # space.
Chris Lattner [Thu, 24 Aug 2006 23:22:59 +0000 (23:22 +0000)]
When replacing value numbers, make sure to compactify the value # space.

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

18 years agoWe compile this into:
Chris Lattner [Thu, 24 Aug 2006 23:06:02 +0000 (23:06 +0000)]
We compile this into:

_swap_16:
        slwi r2, r3, 24
        rlwimi r2, r3, 8, 8, 15
        srwi r3, r2, 16
        blr

now.

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

18 years agoOwen implemented this.
Chris Lattner [Thu, 24 Aug 2006 23:03:33 +0000 (23:03 +0000)]
Owen implemented this.

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

18 years agoTake advantage of the recent improvements to the liveintervals set (tracking
Chris Lattner [Thu, 24 Aug 2006 22:43:55 +0000 (22:43 +0000)]
Take advantage of the recent improvements to the liveintervals set (tracking
instructions which define each value#) to simplify and improve the coallescer.
In particular, this patch:

1. Implements iterative coallescing.
2. Reverts an unsafe hack from handlePhysRegDef, superceeding it with a
   better solution.
3. Implements PR865, "coallescing" away the second copy in code like:

   A = B
   ...
   B = A

This also includes changes to symbolically print registers in intervals
when possible.

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

18 years agoFor PR738:
Reid Spencer [Thu, 24 Aug 2006 22:41:20 +0000 (22:41 +0000)]
For PR738:
Demote check for bison from error to warning and make sure that the
makefile can handle an empty definition for BISON variable.

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

18 years agoRemove a character to avoid line exceeding 80 cols.
Reid Spencer [Thu, 24 Aug 2006 22:39:25 +0000 (22:39 +0000)]
Remove a character to avoid line exceeding 80 cols.

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

18 years agoImplement unrolling of multiblock loops. This significantly improves the
Owen Anderson [Thu, 24 Aug 2006 21:28:19 +0000 (21:28 +0000)]
Implement unrolling of multiblock loops.  This significantly improves the
utility of the LoopUnroll pass.

Also, add a testcase for multiblock-loop unrolling.

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

18 years agoFor PR797:
Reid Spencer [Thu, 24 Aug 2006 18:58:37 +0000 (18:58 +0000)]
For PR797:
Adjust implementation to match the new interface after exception handling
was removed in the Unix verison. NOTE: this hasn't been compiled yet!

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

18 years agoadd the "eq" condition code
Rafael Espindola [Thu, 24 Aug 2006 17:19:08 +0000 (17:19 +0000)]
add the "eq" condition code
implement a movcond instruction

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

18 years agocreate a generic bcond instruction that has a conditional code argument
Rafael Espindola [Thu, 24 Aug 2006 16:13:15 +0000 (16:13 +0000)]
create a generic bcond instruction that has a conditional code argument

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

18 years agoRemove a FIXME. Don't use strlcpy that isn't available on non-BSD platforms
Reid Spencer [Thu, 24 Aug 2006 14:25:39 +0000 (14:25 +0000)]
Remove a FIXME. Don't use strlcpy that isn't available on non-BSD platforms
and ensure that a memory overrun won't occur while still writing Length
bytes in the outstring function.

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

18 years agoinitial support for branches
Rafael Espindola [Thu, 24 Aug 2006 13:45:55 +0000 (13:45 +0000)]
initial support for branches

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

18 years agoupdate some comments
Chris Lattner [Thu, 24 Aug 2006 00:21:32 +0000 (00:21 +0000)]
update some comments

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

18 years agoCorrectly attribute file author & remote tabs
Nate Begeman [Wed, 23 Aug 2006 21:33:27 +0000 (21:33 +0000)]
Correctly attribute file author & remote tabs

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

18 years agoMake sure that both non-asm file types are marked as experimental
Nate Begeman [Wed, 23 Aug 2006 21:29:52 +0000 (21:29 +0000)]
Make sure that both non-asm file types are marked as experimental

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