Evan Cheng [Tue, 29 Aug 2006 22:14:48 +0000 (22:14 +0000)]
Minor asm fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29965
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 29 Aug 2006 22:01:39 +0000 (22:01 +0000)]
This is also a 32-bit only test. x86-64 would pass fp parameters through XMM registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29964
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 29 Aug 2006 21:49:58 +0000 (21:49 +0000)]
Fix test case so it passes on x86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29963
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 29 Aug 2006 21:42:58 +0000 (21:42 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29962
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 29 Aug 2006 20:52:44 +0000 (20:52 +0000)]
Delete a no-longer-supported configuration item.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29960
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 29 Aug 2006 18:49:41 +0000 (18:49 +0000)]
Undo xfail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29958
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 29 Aug 2006 18:37:37 +0000 (18:37 +0000)]
Don't performance load/op/store transformation if op produces a floating point
or vector result. X86 does not have load/mod/store variants of those
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29957
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 29 Aug 2006 18:28:33 +0000 (18:28 +0000)]
- Enable x86 isel preprocessing by default unless -fast is specified.
- Also disable isel load folding if -fast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29956
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 29 Aug 2006 18:01:18 +0000 (18:01 +0000)]
Issue cvs co with -P option to prune empty directories. Remove the unnecessary
update stage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29955
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 29 Aug 2006 16:24:26 +0000 (16:24 +0000)]
Handle callee saved registers in dwarf frame info (lead up to exception
handling.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29954
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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