Duraid Madina
d87738a097
we can't all have brains now, can we
...
llvm-svn: 24948
2005-12-22 06:41:39 +00:00
Duraid Madina
b43dc0ff5b
this should take care of calls to varadic functions, but it doesn.,t
...
BUG: calling printf(string, float) will load the float into the wrong
register, completely forget about loading the string, etce
llvm-svn: 24947
2005-12-22 06:39:57 +00:00
Duraid Madina
d1c9d5ae4d
we need to emit the getf.d instruction in lowering, so add it
...
to IA64ISD
llvm-svn: 24946
2005-12-22 06:38:38 +00:00
Chris Lattner
3d84ef7903
credit where credit is due
...
llvm-svn: 24945
2005-12-22 06:09:08 +00:00
Chris Lattner
7f45e655a8
Separate the call graph implementation from its interface. This implements
...
the rough idea sketched out in http://nondot.org/sabre/LLVMNotes/CallGraphClass.txt ,
allowing new spiffy implementations of the callgraph interface to be built.
Many thanks to Saem Ghani for contributing this!
llvm-svn: 24944
2005-12-22 06:07:52 +00:00
Chris Lattner
6f708e886f
The 81st column doesn't like code in it.
...
llvm-svn: 24943
2005-12-22 05:23:45 +00:00
Duraid Madina
47cd4eeab0
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
llvm-svn: 24942
2005-12-22 04:07:40 +00:00
Duraid Madina
22eb8a3fb4
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)
llvm-svn: 24941
2005-12-22 03:58:17 +00:00
Reid Spencer
7c8ac1cf8c
Fix documentation for the AlarmSetup function.
...
llvm-svn: 24940
2005-12-22 03:57:15 +00:00
Duraid Madina
2c940da498
update tablegen files - nothing to see here
...
llvm-svn: 24939
2005-12-22 03:56:03 +00:00
Reid Spencer
d7c85dc01c
For PR351:
...
Move the system dependent portion to lib/System/*/Alarm.inc. This makes the
SlowOperationInformer platform independent.
llvm-svn: 24938
2005-12-22 03:31:26 +00:00
Reid Spencer
94bbff0319
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.
llvm-svn: 24937
2005-12-22 03:23:46 +00:00
Evan Cheng
b18b8c847f
Attempt to fix a crash on WIN32.
...
llvm-svn: 24936
2005-12-22 02:35:21 +00:00
Evan Cheng
e458553c73
Bye bye HACKTROCITY.
...
llvm-svn: 24935
2005-12-22 02:26:21 +00:00
Evan Cheng
eac312f453
Added special flag node FLAG.
...
llvm-svn: 24934
2005-12-22 02:25:14 +00:00
Evan Cheng
578fad3f9d
* 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.
llvm-svn: 24933
2005-12-22 02:24:50 +00:00
Reid Spencer
65c625bf11
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.
llvm-svn: 24931
2005-12-22 02:08:30 +00:00
Reid Spencer
bca47d81ca
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.
llvm-svn: 24930
2005-12-22 01:50:56 +00:00
Jeff Cohen
ac0286cbe6
Add new files to Visual Studio.
...
llvm-svn: 24929
2005-12-22 01:50:11 +00:00
Jeff Cohen
8727139340
Oh oh... Unix is case sensitive.
...
llvm-svn: 24928
2005-12-22 01:46:59 +00:00
Jeff Cohen
8afabfd8f1
Make it compile with VC++.
...
llvm-svn: 24927
2005-12-22 01:44:51 +00:00
Reid Spencer
b7a51183c1
Add an eol at the end to shut gcc sup.
...
llvm-svn: 24926
2005-12-22 01:41:00 +00:00
Reid Spencer
458adf241f
Add an eol at the end to shut gcc up.
...
llvm-svn: 24925
2005-12-22 01:40:06 +00:00
Reid Spencer
d00fefe5b4
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.
llvm-svn: 24924
2005-12-21 23:17:06 +00:00
Evan Cheng
822f360f84
Added TargetLowering::isMaskedValueZeroForTargetNode() declaration.
...
llvm-svn: 24923
2005-12-21 23:15:41 +00:00
Evan Cheng
d33f8fde4a
Lefted out TargetLowering::
...
llvm-svn: 24922
2005-12-21 23:14:54 +00:00
Evan Cheng
fb6413e05a
* Fix a GlobalAddress lowering bug.
...
* Teach DAG combiner about X86ISD::SETCC by adding a TargetLowering hook.
llvm-svn: 24921
2005-12-21 23:05:39 +00:00
Evan Cheng
add305de26
Oops. Accidentally deleted RET pattern. It's still needed for return void;
...
llvm-svn: 24920
2005-12-21 22:22:16 +00:00
Jim Laskey
d82881490c
Disengage DEBUG_LOC from non-PPC targets.
...
llvm-svn: 24919
2005-12-21 20:51:37 +00:00
Jim Laskey
302e7d0205
Sync up the project with my tweaks.
...
llvm-svn: 24918
2005-12-21 20:47:34 +00:00
Evan Cheng
6f15189a77
* Added support for X86 RET with an additional operand to specify number of
...
bytes to pop off stack.
* Added support for X86 SETCC.
llvm-svn: 24917
2005-12-21 20:21:51 +00:00
Evan Cheng
3b09247bb9
Allows instructions which no explicit operands. e.g. X86 RET which has but
...
an implicit flag operand.
llvm-svn: 24916
2005-12-21 20:20:49 +00:00
Chris Lattner
dfc6bbd0d4
add dwarfwriter to the xcode project
...
llvm-svn: 24915
2005-12-21 19:51:24 +00:00
Jim Laskey
aeb774e97d
Start of Dwarf framework.
...
llvm-svn: 24914
2005-12-21 19:48:16 +00:00
Jim Laskey
53d56a5c9a
Oops llvm namespace.
...
llvm-svn: 24913
2005-12-21 19:46:32 +00:00
Jim Laskey
70293489ac
Start of Dwarf framework code.
...
llvm-svn: 24912
2005-12-21 19:44:40 +00:00
Chris Lattner
6364b03742
make sure to relegalize all cases
...
llvm-svn: 24911
2005-12-21 19:40:42 +00:00
Chris Lattner
079443691c
enable the gep isel opt
...
llvm-svn: 24910
2005-12-21 19:36:36 +00:00
Chris Lattner
39a4b7dc7c
Regenerate
...
llvm-svn: 24908
2005-12-21 18:31:50 +00:00
Chris Lattner
2c88f52eb3
allow logical operators on packed integral types
...
llvm-svn: 24907
2005-12-21 18:31:29 +00:00
Chris Lattner
d51de8d76f
Get logical operations to like packed types, allow BinOp::getNot to create
...
the right vector of -1's as its operand.
llvm-svn: 24906
2005-12-21 18:22:19 +00:00
Chris Lattner
15bf8f26f2
fix a bug I introduced that broke recursive expansion of nodes (e.g. scalarizing vectors)
...
llvm-svn: 24905
2005-12-21 18:02:52 +00:00
Chris Lattner
025b8b82de
regenerate
...
llvm-svn: 24904
2005-12-21 17:53:23 +00:00
Chris Lattner
4ca5857a7c
Implement Regression/Assembler/2005-12-21-ZeroInitVector.ll
...
llvm-svn: 24903
2005-12-21 17:53:02 +00:00
Chris Lattner
74d01d7e5a
new testcase
...
llvm-svn: 24902
2005-12-21 17:52:42 +00:00
Chris Lattner
2bc611f6f0
add some nodes, forgot to commit this last night :(
...
llvm-svn: 24901
2005-12-21 16:22:46 +00:00
Chris Lattner
347c6eedae
This was meant to go in
...
llvm-svn: 24900
2005-12-21 07:50:26 +00:00
Chris Lattner
884def40f4
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!
llvm-svn: 24899
2005-12-21 07:47:04 +00:00
Chris Lattner
ee15b5393f
Wrap some long lines: no functionality change
...
llvm-svn: 24898
2005-12-21 05:34:58 +00:00
Chris Lattner
643e6c2b9e
Eliminate some GCC warnings from the generated code
...
llvm-svn: 24897
2005-12-21 05:31:05 +00:00