Dan Gohman
b16a7783c5
Add FastISel support for floating-point operations.
...
llvm-svn: 55021
2008-08-20 00:23:20 +00:00
Dan Gohman
a3e4d5a5e1
Add FastISel support for several more binary operators.
...
llvm-svn: 55020
2008-08-20 00:11:48 +00:00
Eli Friedman
02d4a78688
Get rid of the bogus -depth +0 argument; I really have no clue what the
...
heck it does on Darwin, but it's not part of POSIX, and the GNU version
of find errors out on it.
On a side note, there are a couple of new failures due to tests
including OS X specific headers.
llvm-svn: 55019
2008-08-20 00:02:01 +00:00
Bill Wendling
e79740851f
Add support for the __sync_sub_and_fetch atomics and friends for X86. The code
...
was already present, but not hooked up to anything.
llvm-svn: 55018
2008-08-19 23:09:18 +00:00
Dan Gohman
065e24709e
Fast-isel is now *minimally* functional. Add a testcase to
...
demonstrate the extent of its capabilities. Note that it
only attempts to operate on one of the blocks in this
testcase.
llvm-svn: 55016
2008-08-19 22:37:59 +00:00
Dan Gohman
697284fe0a
Add code to call FastISel, and a command-line option to enable it.
...
llvm-svn: 55015
2008-08-19 22:33:34 +00:00
Dan Gohman
214343fbbe
Support unconditional fall-through branches in FastISel.
...
llvm-svn: 55014
2008-08-19 22:31:46 +00:00
Ted Kremenek
19edd216f2
Move store pretty-printing logic inside of StoreManager (previously in GRState).
...
llvm-svn: 55013
2008-08-19 22:24:03 +00:00
Owen Anderson
2a458775db
Allow the fast-path spilling code to attempt folding, but still leaving out remat and splitting.
...
llvm-svn: 55012
2008-08-19 22:12:11 +00:00
Dan Gohman
daef7f43af
Instantiate FastISel for X86.
...
llvm-svn: 55011
2008-08-19 21:45:35 +00:00
Dan Gohman
4619e93bd3
The X86 target will soon have an implementation of createFastISel.
...
llvm-svn: 55010
2008-08-19 21:32:53 +00:00
Dan Gohman
d68c96e51a
Add a TargetLowering hook for creating a FastISel object.
...
llvm-svn: 55009
2008-08-19 21:26:29 +00:00
Dan Gohman
2dbebd7db5
For now, restrict FastISel to instructions that only involve one
...
register class.
llvm-svn: 55008
2008-08-19 20:58:14 +00:00
Dan Gohman
98e6f1c48a
Factor out the code to scan an instruction's operands into a
...
helper function.
llvm-svn: 55007
2008-08-19 20:56:30 +00:00
Dan Gohman
547ce65467
Use the BuildMI overload that sets up a destination register
...
instead of the one that doesn't and then adding it manually.
llvm-svn: 55006
2008-08-19 20:46:54 +00:00
Dan Gohman
c55fdcc935
Handle the case where target-specific fastisel code doesn't have
...
a desired opcode.
llvm-svn: 55005
2008-08-19 20:43:22 +00:00
Dan Gohman
aa13b6f71b
Add more comments.
...
llvm-svn: 55004
2008-08-19 20:36:33 +00:00
Dan Gohman
49520b99a3
Fix indentation in FastISel tablegen-emitted code.
...
llvm-svn: 55003
2008-08-19 20:31:38 +00:00
Dan Gohman
a6c14d0ddb
Add more checking to filter out more kinds of things that
...
FastISel doesn't support yet.
llvm-svn: 55002
2008-08-19 20:30:54 +00:00
Chris Lattner
7f55d8ff44
remove reference to really really old tree
...
llvm-svn: 55001
2008-08-19 20:17:48 +00:00
Owen Anderson
c75ae13566
The fast-path still needs to set kill markers and spill/restore points as appropriate.
...
With this patch, all of MultiSource/Applications and all of SPEC2000/2006 pass with
the SimpleSpiller and this fast-path enabled.
llvm-svn: 55000
2008-08-19 20:09:52 +00:00
Dale Johannesen
5afbf510aa
Add support for 8 and 16 bit forms of __sync
...
builtins on X86.
Change "lock" instructions to be on a separate line.
This is needed to work around a bug in the Darwin
assembler.
llvm-svn: 54999
2008-08-19 18:47:28 +00:00
Dan Gohman
6a36fe912c
80 columns.
...
llvm-svn: 54998
2008-08-19 18:07:49 +00:00
Dan Gohman
dbd5328238
Add a few doxygen comments.
...
llvm-svn: 54997
2008-08-19 18:06:12 +00:00
Dan Gohman
522012fc56
Remove an unneeded #include.
...
llvm-svn: 54996
2008-08-19 17:53:16 +00:00
Gordon Henriksen
1298fb90d3
Delete a dead field.
...
llvm-svn: 54995
2008-08-19 17:09:26 +00:00
Gordon Henriksen
72bd9dfdad
[PR2327] Leverage TargetRegisterInfo to compute frame offsets for GC metadata.
...
llvm-svn: 54994
2008-08-19 17:06:35 +00:00
Ted Kremenek
67102b281e
Patch by Zhongxing Xu!
...
This patch extends BasicStoreManager::getInitialStore() to include code that symbolicates input variables.
It also removes redundant handling of ImplicitParamDecl, since it is a subclass of VarDecl.
llvm-svn: 54993
2008-08-19 16:51:45 +00:00
Nicolas Geoffray
d58c8e759f
Update the JIT exception writer to better mimic the codegen exception writer.
...
Also skip indirect encoding for platforms that ask for one: we direclty
write an address, not a pointer to the address.
llvm-svn: 54987
2008-08-19 14:48:14 +00:00
Steve Naroff
ad7013b1e6
Fix crasher in RewriteObjC::RewriteObjCSynchronizedStmt(). Can't depend on the source locations of the sync expression (since it may have been rewritten.
...
Fixes <rdar://problem/6156363> clang ObjC rewriter: rewriting attached file causes assertion failure: invalid FileID
llvm-svn: 54986
2008-08-19 13:04:19 +00:00
Chris Lattner
d7dd8b8aeb
add a note
...
llvm-svn: 54985
2008-08-19 06:22:16 +00:00
Chris Lattner
585297e851
more cleanups, random methods shouldn't return ostreams.
...
llvm-svn: 54984
2008-08-19 05:26:17 +00:00
Chris Lattner
1508d3f0fc
more cleanup, eliminate getLLVMName when printing out
...
type names at the top of the file.
llvm-svn: 54983
2008-08-19 05:16:28 +00:00
Chris Lattner
3a36d2ce81
random cleanups, factor some printing code for linkage and visibility
...
llvm-svn: 54982
2008-08-19 05:06:27 +00:00
Chris Lattner
604e351456
Change WriteTypeSymbolic/WriteAsOperand to return void instead of
...
an ostream, which is just weird.
Rename SC_DEBUG -> ST_DEBUG
Remove static indentation strangeness from WriteConstantInt. This makes it
so that large structs are not broken down and printed on multiple lines. If
there is demand for this to return, there are better ways to implement this.
llvm-svn: 54981
2008-08-19 04:47:09 +00:00
Chris Lattner
85ac9b1e4a
whitespace cleanup
...
llvm-svn: 54980
2008-08-19 04:45:47 +00:00
Chris Lattner
57693dda1d
don't use the result of WriteAsOperand
...
llvm-svn: 54979
2008-08-19 04:45:19 +00:00
Chris Lattner
5d2a9a4ae6
don't use the result of WriteTypeSymbolic or WriteAsOperand.
...
llvm-svn: 54978
2008-08-19 04:44:30 +00:00
Chris Lattner
be1309058a
Don't use the result of WriteAsOperand or WriteTypeSymbolic.
...
llvm-svn: 54977
2008-08-19 04:42:37 +00:00
Chris Lattner
3eee99c322
rearrange code and make more legible.
...
llvm-svn: 54976
2008-08-19 04:36:02 +00:00
Chris Lattner
3ee5876a7b
put SlotTracker in an anon namespace since it is private.
...
llvm-svn: 54975
2008-08-19 04:28:07 +00:00
Chris Lattner
e36fd8a2ff
Reid had to call this class "slot machine" out of some strange reference
...
to the gambling device. Name it something more meaningful.
llvm-svn: 54974
2008-08-19 04:26:57 +00:00
Chris Lattner
cdceb08ca2
Use raw_ostream to output an unsigned.
...
llvm-svn: 54973
2008-08-19 04:23:15 +00:00
Chris Lattner
6e0fab4e43
add raw_ostream method for emitting an unsigned.
...
llvm-svn: 54972
2008-08-19 04:23:02 +00:00
Devang Patel
3978c758f7
Compress manpages.
...
llvm-svn: 54971
2008-08-19 01:17:41 +00:00
Ted Kremenek
55a3c78835
Update checker-78.
...
llvm-svn: 54970
2008-08-19 01:17:30 +00:00
Owen Anderson
7f3bfbd23b
Make SimpleSpiller respect subregister indices.
...
llvm-svn: 54968
2008-08-19 01:05:33 +00:00
Chris Lattner
5caafe598f
add testcase we already handle.
...
llvm-svn: 54967
2008-08-19 00:58:40 +00:00
Chris Lattner
f076d5eea8
add a note
...
llvm-svn: 54964
2008-08-19 00:41:02 +00:00
Owen Anderson
442dc6fed0
Add a flag to enable the fast spilling path.
...
llvm-svn: 54958
2008-08-19 00:17:30 +00:00