Duraid Madina [Thu, 22 Dec 2005 04:07:40 +0000 (04:07 +0000)]
I shoulda done this a *long* time ago (tm): implement calls properly,
i.e. r1/r12/rp are saved/restored regardless of scheduling/luck
TODO: calls to external symbols, indirect (function descriptor) calls,
performance (we're being paranoid right now)
BUG: the code for handling calls to vararg functions breaks if FP
args are passed (this will make printf() go haywire so a bunch of
tests will fail)
BUG: this seems to trigger some legalize nastiness
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24942
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Thu, 22 Dec 2005 03:58:17 +0000 (03:58 +0000)]
kill SelectCALL() in the DAG isel, we handle this in lowering now, like
SPARCv8. (we copy sparcv8's workaround for tablegen not being nice about
ISD::CALL/TAILCALL)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24941
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 22 Dec 2005 03:57:15 +0000 (03:57 +0000)]
Fix documentation for the AlarmSetup function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24940
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Thu, 22 Dec 2005 03:56:03 +0000 (03:56 +0000)]
update tablegen files - nothing to see here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24939
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 22 Dec 2005 03:31:26 +0000 (03:31 +0000)]
For PR351:
Move the system dependent portion to lib/System/*/Alarm.inc. This makes the
SlowOperationInformer platform independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24938
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 22 Dec 2005 03:23:46 +0000 (03:23 +0000)]
Implement a generic polled Alarm function. This merely removes the system
dependent portion of the lib/Support/SlowOperationTimer code into the
lib/System implementation where it can be ported to different platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24937
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 22 Dec 2005 02:35:21 +0000 (02:35 +0000)]
Attempt to fix a crash on WIN32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24936
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 22 Dec 2005 02:26:21 +0000 (02:26 +0000)]
Bye bye HACKTROCITY.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24935
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 22 Dec 2005 02:25:14 +0000 (02:25 +0000)]
Added special flag node FLAG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24934
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 22 Dec 2005 02:24:50 +0000 (02:24 +0000)]
* Added support for FLAG - a special nameless flag register. Can be used as
either an operand or a result.
* Fixed some more flag / chain bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24933
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 22 Dec 2005 02:08:30 +0000 (02:08 +0000)]
For PR678:
* Make it possible to pass a fourth argument to the CHECK_PROGRAM_SANITY
macro that controls whether a non-sane program generates an error or
a warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24931
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 22 Dec 2005 01:50:56 +0000 (01:50 +0000)]
Implement PR679:
* Changed the -rpath option from cl::opt to cl::list
* Changed the interface to GenerateNative to take a std::vector<std::string>
instead of just a std::string
* Changed GenerateNative to generate multiple -Wl,-rpath, options to be
passed to gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24930
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 22 Dec 2005 01:50:11 +0000 (01:50 +0000)]
Add new files to Visual Studio.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24929
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 22 Dec 2005 01:46:59 +0000 (01:46 +0000)]
Oh oh... Unix is case sensitive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24928
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 22 Dec 2005 01:44:51 +0000 (01:44 +0000)]
Make it compile with VC++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24927
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 22 Dec 2005 01:41:00 +0000 (01:41 +0000)]
Add an eol at the end to shut gcc sup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24926
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 22 Dec 2005 01:40:06 +0000 (01:40 +0000)]
Add an eol at the end to shut gcc up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24925
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 21 Dec 2005 23:17:06 +0000 (23:17 +0000)]
Some simple cleanups:
1. When srcdir == objdir have "spotless" say that it isn't supported in
that mode rather than just let make say "no such target"
2. Minor doc cleanups
3. Fix the double rebuild problem with yacc files. A missing dependency
caused parallel builds to skip building the .cpp file after the .cpp
file was regenerated by bison.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24924
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 21 Dec 2005 23:15:41 +0000 (23:15 +0000)]
Added TargetLowering::isMaskedValueZeroForTargetNode() declaration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24923
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 21 Dec 2005 23:14:54 +0000 (23:14 +0000)]
Lefted out TargetLowering::
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24922
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 21 Dec 2005 23:05:39 +0000 (23:05 +0000)]
* Fix a GlobalAddress lowering bug.
* Teach DAG combiner about X86ISD::SETCC by adding a TargetLowering hook.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24921
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 21 Dec 2005 22:22:16 +0000 (22:22 +0000)]
Oops. Accidentally deleted RET pattern. It's still needed for return void;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24920
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 21 Dec 2005 20:51:37 +0000 (20:51 +0000)]
Disengage DEBUG_LOC from non-PPC targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24919
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 21 Dec 2005 20:47:34 +0000 (20:47 +0000)]
Sync up the project with my tweaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24918
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 21 Dec 2005 20:21:51 +0000 (20:21 +0000)]
* Added support for X86 RET with an additional operand to specify number of
bytes to pop off stack.
* Added support for X86 SETCC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24917
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 21 Dec 2005 20:20:49 +0000 (20:20 +0000)]
Allows instructions which no explicit operands. e.g. X86 RET which has but
an implicit flag operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24916
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 19:51:24 +0000 (19:51 +0000)]
add dwarfwriter to the xcode project
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24915
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 21 Dec 2005 19:48:16 +0000 (19:48 +0000)]
Start of Dwarf framework.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24914
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 21 Dec 2005 19:46:32 +0000 (19:46 +0000)]
Oops llvm namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24913
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 21 Dec 2005 19:44:40 +0000 (19:44 +0000)]
Start of Dwarf framework code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24912
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 19:40:42 +0000 (19:40 +0000)]
make sure to relegalize all cases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24911
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 19:36:36 +0000 (19:36 +0000)]
enable the gep isel opt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24910
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 18:31:50 +0000 (18:31 +0000)]
Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24908
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 18:31:29 +0000 (18:31 +0000)]
allow logical operators on packed integral types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24907
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 18:22:19 +0000 (18:22 +0000)]
Get logical operations to like packed types, allow BinOp::getNot to create
the right vector of -1's as its operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24906
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 18:02:52 +0000 (18:02 +0000)]
fix a bug I introduced that broke recursive expansion of nodes (e.g. scalarizing vectors)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24905
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 17:53:23 +0000 (17:53 +0000)]
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24904
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 17:53:02 +0000 (17:53 +0000)]
Implement Regression/Assembler/2005-12-21-ZeroInitVector.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24903
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 17:52:42 +0000 (17:52 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24902
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 16:22:46 +0000 (16:22 +0000)]
add some nodes, forgot to commit this last night :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24901
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 07:50:26 +0000 (07:50 +0000)]
This was meant to go in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24900
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 07:47:04 +0000 (07:47 +0000)]
Rewrite FP stackifier support in the X86InstrInfo.td file, splitting patterns
that were overloaded to work before and after the stackifier runs. With the
new clean world, it is possible to write patterns for these instructions: woo!
This also adds a few simple patterns here and there, though there are a lot
still missing. These should be easy to add though. :)
See the comments under "Floating Point Stack Support" for more details on
the new world order.
This patch as absolutely no effect on the generated code, woo!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24899
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 05:34:58 +0000 (05:34 +0000)]
Wrap some long lines: no functionality change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24898
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 05:31:05 +0000 (05:31 +0000)]
Eliminate some GCC warnings from the generated code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24897
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 05:27:51 +0000 (05:27 +0000)]
remove dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24896
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 21 Dec 2005 05:13:06 +0000 (05:13 +0000)]
Document the new -post-link-opts option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24895
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 05:09:57 +0000 (05:09 +0000)]
new testcase, fails on X86 and probably others
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24894
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 21 Dec 2005 05:03:23 +0000 (05:03 +0000)]
Implement PR512:
This patch adds a -post-link-opts option to llvm-ld which allows an arbitrary
program to optimize bytecode after linking. The program is passed two file
names. The first is the input (linked bytecode) the second is where it must
place its output (presumably after optimizing). If the output file is bytecode,
it is used as a substitute for the input. This will allow things like poolalloc
to be written as a separate program instead of a loadable module or built into
LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24893
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 21 Dec 2005 03:46:45 +0000 (03:46 +0000)]
Document the new --enable-debug-runtime configure option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24892
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 21 Dec 2005 03:31:53 +0000 (03:31 +0000)]
Implement fix for PR471:
* Add --enable-debug-runtime option, defaults to disabled
* Pass the new config var, DEBUG_RUNTIME, to Makefiles
* Don't use -Wa,-strip-debug if debug-runtime is enabled
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24891
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 02:43:26 +0000 (02:43 +0000)]
Lower ConstantAggregateZero into zeros
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24890
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 21 Dec 2005 02:41:57 +0000 (02:41 +0000)]
Remove ISD::RET select code. Now tblgen'd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24889
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 21 Dec 2005 02:39:21 +0000 (02:39 +0000)]
* Added lowering hook for external weak global address. It inserts a load
for Darwin.
* Added lowering hook for ISD::RET. It inserts CopyToRegs for the return
value (or store / fld / copy to ST(0) for floating point value). This
eliminate the need to write C++ code to handle RET with variable number
of operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24888
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Dec 2005 01:17:37 +0000 (01:17 +0000)]
Don't emit a null terminator, nor anything after it, to the ctor/dtor list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24887
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 20 Dec 2005 22:59:51 +0000 (22:59 +0000)]
SSE2 floating point load / store patterns. SSE2 fp to int conversion patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24886
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 20 Dec 2005 20:08:53 +0000 (20:08 +0000)]
Flip the meaning of FPContractions to reflect Requires<[]> change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24884
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 20 Dec 2005 20:08:01 +0000 (20:08 +0000)]
Fix the semantic of Requires<[cond]> to mean if (!cond) goto PXXFail;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24883
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Dec 2005 19:41:03 +0000 (19:41 +0000)]
This ugly patch works around a GCC bug where it is compiling SelectCode to
use too much stack space, overflowing the stack for large functions. Instead
of emitting new SDOperands in each match block, we emit some common ones at
the top of SelectCode then reuse them when possible.
This reduces the stack size of SelectCode from 28K to 21K. Note that GCC
compiles it to 512 bytes :-/
I've filed GCC PR 25505 to track this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24882
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Dec 2005 08:00:11 +0000 (08:00 +0000)]
Run lower-switch after lower-invoke.
Only run lower-allocations and lower-select for the simple isel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24881
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Dec 2005 07:56:31 +0000 (07:56 +0000)]
Reserve G1 for frame offset stuff and use it to handle large stack frames.
For example, instead of emitting this:
test:
save -40112, %o6, %o6 ;; imm too large
add %i6, -40016, %o0 ;; imm too large
call caller
nop
restore %g0, %g0, %g0
retl
nop
emit this:
test:
sethi
4194264, %g1
or %g1, 848, %g1
save %o6, %g1, %o6
sethi
4194264, %g1
add %g1, %i6, %g1
add %i1, 944, %o0
call caller
nop
restore %g0, %g0, %g0
retl
nop
which doesn't cause the assembler to barf.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24880
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 20 Dec 2005 07:38:38 +0000 (07:38 +0000)]
Added X86 readport patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24879
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 20 Dec 2005 07:37:41 +0000 (07:37 +0000)]
Now support instructions with implicit write to non-flag registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24878
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 20 Dec 2005 06:22:03 +0000 (06:22 +0000)]
Added a hook to print out names of target specific DAG nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24877
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrick Meredith [Tue, 20 Dec 2005 02:03:23 +0000 (02:03 +0000)]
Added a break that I meant to include originally, for efficiency. Basically
it keeps it from trying to add the same node to the node set
over and over if it matches multiple given patterns. Also in cases where there
are a lot of patterns to be matched, and it matches an early one, this
will make the script run slightly faster. It's more there because it logically
should be, than anything else, I mean, Python is never going to be fast ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24876
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Dec 2005 00:53:54 +0000 (00:53 +0000)]
Fix a nasty latent bug in the legalizer that was triggered by my patch
last night, breaking crafty and twolf. Make sure that the newly found
legal nodes are themselves not re-legalized until the next iteration.
Also, since this functionality exists now, we can reduce number of legalizer
iterations by depending on this behavior instead of having to misuse 'do
another iteration' to get the same effect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24875
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 20 Dec 2005 00:26:01 +0000 (00:26 +0000)]
Pattern-match return. Includes gross hack!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24874
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 20 Dec 2005 00:06:17 +0000 (00:06 +0000)]
Lefted out a fix in the previous check in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24873
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 19 Dec 2005 23:40:42 +0000 (23:40 +0000)]
Fix a couple of the FIXMEs, thanks to suggestion from Chris. This allows
us to load and store vectors directly at a pointer (offset of zero) by
using r0 as the base register. This also requires some asm printer work
to satisfy the darwin assembler.
For
void %foo(<4 x float> * %a) {
entry:
%tmp1 = load <4 x float> * %a;
%tmp2 = add <4 x float> %tmp1, %tmp1
store <4 x float> %tmp2, <4 x float> *%a
ret void
}
We now produce:
_foo:
lvx v0, 0, r3
vaddfp v0, v0, v0
stvx v0, 0, r3
blr
Instead of:
_foo:
li r2, 0
lvx v0, r2, r3
vaddfp v0, v0, v0
stvx v0, r2, r3
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24872
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 19 Dec 2005 23:25:09 +0000 (23:25 +0000)]
Convert load/store over to being pattern matched
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24871
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 19 Dec 2005 23:12:38 +0000 (23:12 +0000)]
X86 conditional branch support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24870
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 19 Dec 2005 23:11:49 +0000 (23:11 +0000)]
Print out opcode number if it's an unknown target node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24869
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 19 Dec 2005 22:40:04 +0000 (22:40 +0000)]
Fix another bug related to chain / flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24868
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 19 Dec 2005 22:36:02 +0000 (22:36 +0000)]
It's essential we clear CodeGenMap after isel every basic block!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24867
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 22:21:21 +0000 (22:21 +0000)]
Fix a case where the DAG Combiner would accidentally CSE flag-producing nodes,
creating graphs that cannot be scheduled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24866
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 19 Dec 2005 20:27:24 +0000 (20:27 +0000)]
Added the llvm-kernel project to the list of automatically configured
projects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24865
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 19 Dec 2005 20:14:38 +0000 (20:14 +0000)]
Prefix DSA specific options with dsa.
Make the dsa-alloc-list and dsa-free-list options hidden.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24864
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 19 Dec 2005 19:54:23 +0000 (19:54 +0000)]
Added an option to specify the names of heap freeing functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24863
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 19 Dec 2005 17:38:39 +0000 (17:38 +0000)]
Added a command line option that allows the user to specify a list of
functions that allocate memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24862
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Mon, 19 Dec 2005 16:32:26 +0000 (16:32 +0000)]
Amend comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24861
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Mon, 19 Dec 2005 16:30:13 +0000 (16:30 +0000)]
Create a strong dependency for loads following stores. This will leave a
latency period between the two.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24860
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 07:57:53 +0000 (07:57 +0000)]
Fix pifft by correcting the case when a i64/f64 straddles O5 and memory:
we were storing into [FP+88] instead of [FP+92].
Improve codegen by emitting [FP+92], instead of emitting a copy of FP into
another GPR which wouldn't be coallesced because FP isn't register allocated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24859
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 19 Dec 2005 07:18:51 +0000 (07:18 +0000)]
Fixes for a number of bugs: save flag results in CodeGenMap, folded chains
may not all have ResNo == 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24858
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 02:51:12 +0000 (02:51 +0000)]
don't emit 'add %o6, 0, %o6' instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24857
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 02:15:51 +0000 (02:15 +0000)]
Fix calls to functions returning i64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24856
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 02:06:50 +0000 (02:06 +0000)]
Correct bool truncstore operand order
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24855
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 01:44:58 +0000 (01:44 +0000)]
add the other bool zextload as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24854
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 01:43:04 +0000 (01:43 +0000)]
implement zextload bool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24853
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 01:39:40 +0000 (01:39 +0000)]
mark some unsupported ops as unsupported
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24852
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrick Meredith [Mon, 19 Dec 2005 01:23:31 +0000 (01:23 +0000)]
This is a script to extract nodes and edges associated with those nodes
from a dot file that is the output of DSA. Nodes to extract
are specified by giving the name of the node seen in the graphical
representation, i.e. in the .ps if the node is specified %xyz
asking for just x, xy, or xyz will retain it in the output file.
Because it operates on substrings underspecifying may result
in additional unexpected nodes. Be as specific as possible.
Obviously, however, if you ask for %xyz and there is a
getelementptr of %xyz you will get both nodes. Some manual
editing may still be necessary because of this, but this script
can pare down 10,000 line files to 20 line files, making like easier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24851
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 01:22:53 +0000 (01:22 +0000)]
Fix syntax for indirect calls. This fixes Olden/mst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24850
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 01:15:13 +0000 (01:15 +0000)]
Keep stack frames 8-byte aligned. This fixes olden/voronoi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24849
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 00:53:02 +0000 (00:53 +0000)]
apparently rdy isn't actually a psuedo instruction. Use rd %y
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24848
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 00:50:12 +0000 (00:50 +0000)]
add fneg/fabs support for doubles
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24847
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 00:46:20 +0000 (00:46 +0000)]
Various cleanups to this pass, no functionality change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24846
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 00:19:21 +0000 (00:19 +0000)]
add bool truncstores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24845
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Dec 2005 00:06:52 +0000 (00:06 +0000)]
Elimiante SP and FP, which weren't members of the IntRegs register class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24844
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Dec 2005 23:54:29 +0000 (23:54 +0000)]
Make sure to relegalize new nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24843
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Dec 2005 23:36:45 +0000 (23:36 +0000)]
The sun assembler only supports .xword in V9 mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24842
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Dec 2005 23:35:05 +0000 (23:35 +0000)]
Configure the asmwriter to allow constant pools to be printed correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24841
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Dec 2005 23:18:37 +0000 (23:18 +0000)]
add support for integer extloads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24840
91177308-0d34-0410-b5e6-
96231b3b80d8