Reid Spencer
8574ac95f0
Make it clear that getSTDIN returns null when stdin is empty.
...
llvm-svn: 40940
2007-08-08 20:02:20 +00:00
Reid Spencer
155533cf73
Make getSTDIN return null if the standard input is empty, as the header file
...
documentation implies and as its uses depend.
llvm-svn: 40939
2007-08-08 20:01:58 +00:00
Reid Spencer
8609c06956
Allow the filename "-" to be a place holder for stdin. This allows directing
...
stdin through llvm-ld and llvm-link.
llvm-svn: 40938
2007-08-08 19:52:29 +00:00
Owen Anderson
680862880d
Global values also don't undead-ify pointers in our dead alloca's set.
...
llvm-svn: 40936
2007-08-08 19:12:31 +00:00
Owen Anderson
ddf4aee543
Make handleEndBlock significantly faster with one trivial improvement,
...
and one hack to avoid hitting a bad case when the alias analysis is imprecise.
llvm-svn: 40935
2007-08-08 18:38:28 +00:00
Owen Anderson
50df9685b0
Small improvement: if a function doesn't access memory, we don't need to scan
...
it for potentially undeading pointers.
llvm-svn: 40933
2007-08-08 17:58:56 +00:00
Owen Anderson
52aaabf74d
Add some comments, remove a dead argument, and simplify some control flow.
...
No functionality change.
llvm-svn: 40932
2007-08-08 17:50:09 +00:00
Chris Lattner
87f4836184
now that implicit conversions are explicit, we can eliminate
...
EmitUsualArithmeticConversions.
llvm-svn: 40931
2007-08-08 17:49:18 +00:00
Steve Naroff
4bc57c0de7
Add support for __builtin_classify_type(). This builtin function isn't "public", however
...
it is used by "tgmath.h" (so we need to support it). It might also come in handy when
developing the overloaded function macros for OpenCU.
Next check-in will make this an integer constant expression...
llvm-svn: 40930
2007-08-08 17:48:34 +00:00
Chris Lattner
5ebb2fed89
now that implicit conversions are explicit, we can eliminate
...
EmitExprWithUsualUnaryConversions.
llvm-svn: 40929
2007-08-08 17:43:05 +00:00
Chris Lattner
d1fd0db2ae
eliminate redundant conditions from the signless types conversion.
...
llvm-svn: 40927
2007-08-08 16:19:57 +00:00
Chris Lattner
7574ef3ac4
Handle functions with no name better.
...
llvm-svn: 40926
2007-08-08 16:07:23 +00:00
Evan Cheng
d771b793fe
Adding kill info to val#.
...
llvm-svn: 40925
2007-08-08 07:03:29 +00:00
Chris Lattner
785f9986bd
significantly speed up constant folding of calls (and thus all clients that use
...
ConstantFoldInstruction on calls) by avoiding Value::getName(). getName() constructs
and returns an std::string, which does heap allocation stuff. This slightly speeds up
instcombine.
llvm-svn: 40924
2007-08-08 06:55:43 +00:00
Chris Lattner
415750e132
Speed up updateDFSNumbers with two observations:
...
1. domtree is a tree, not a graph. There is no need to avoid revisiting nodes with a set.
2. the worklist can contain the child iterator pointers so we don't get N^2 rescanning of children.
This speeds up updateDFSNumbers significantly, making it basically free. On the testcase in PR1432,
this speeds up loopsimplify by another 3x, dropping it from the 12th most expensive pass to the to
the 30th. :) It used to be #1 .
llvm-svn: 40923
2007-08-08 06:24:20 +00:00
Owen Anderson
b17ab03081
A few more small cleanups.
...
llvm-svn: 40922
2007-08-08 06:06:02 +00:00
Evan Cheng
103947125c
Clean up and bug fix.
...
llvm-svn: 40921
2007-08-08 05:56:18 +00:00
Chris Lattner
c63d4c2e4e
reimplement dfs number computation to be significantly faster. This speeds up
...
natural loop canonicalization (which does many cfg xforms) by 4.3x, for
example. This also fixes a bug in postdom dfnumber computation.
llvm-svn: 40920
2007-08-08 05:51:24 +00:00
Owen Anderson
0aecf0ebef
First round of cleanups from Chris' feedback.
...
llvm-svn: 40919
2007-08-08 04:52:29 +00:00
Evan Cheng
a8c2f38617
- Each val# can have multiple kills.
...
- Fix some minor bugs related to special markers on val# def. ~0U means
undefined, ~1U means dead val#.
llvm-svn: 40916
2007-08-08 03:00:28 +00:00
Devang Patel
68de1ae816
Embrace patch review feedback.
...
llvm-svn: 40915
2007-08-08 01:51:27 +00:00
Evan Cheng
c236617ea0
Remove a dead assertion.
...
llvm-svn: 40914
2007-08-08 01:00:21 +00:00
Evan Cheng
0d0fee269a
- LiveInterval value#'s now have 3 components: def instruction #,
...
kill instruction #, and source register number (iff the value# is defined by a
copy).
- Now def instruction # is set for every value#, not just for copy defined ones.
- Update some outdated code related inactive live ranges.
- Kill info not yet set. That's next patch.
llvm-svn: 40913
2007-08-07 23:49:57 +00:00
Devang Patel
c7e53bdcfd
Fix new compare instruction's signness. Caught by Chris during review.
...
llvm-svn: 40912
2007-08-07 23:17:52 +00:00
Devang Patel
549c0d5175
Fix comment.
...
llvm-svn: 40911
2007-08-07 23:16:03 +00:00
Owen Anderson
0cc1a76283
Don't insert nearly as many redundant phi nodes.
...
llvm-svn: 40909
2007-08-07 23:12:31 +00:00
Dale Johannesen
4e7ff3593c
Fix spelling of mtvscr and mfvscr.
...
llvm-svn: 40908
2007-08-07 23:08:00 +00:00
Steve Naroff
773df5cf30
Move the function/array conversion for ParmVarDecl's from Sema::ParseIdentifierExpr()
...
to Sema::ParseParamDeclarator(). After discussing this with Chris, we decided this
approach has more immediate benefit (though we loose some information in the AST).
The comment below should describe more (if interested).
llvm-svn: 40907
2007-08-07 22:44:21 +00:00
Dale Johannesen
a47f7d7cfd
Long double patch 8 of N: make it partially work in
...
SSE mode (all but conversions <-> other FP types, I think):
>>Do not mark all-80-bit operations as "Requires[FPStack]"
(which really means "not SSE").
>>Refactor load-and-extend to facilitate this.
>>Update comments.
>>Handle long double in SSE when computing FP_REG_KILL.
llvm-svn: 40906
2007-08-07 20:29:26 +00:00
Reid Spencer
8feb9d67e8
Who thought up this crazy formatting scheme?
...
llvm-svn: 40905
2007-08-07 17:57:36 +00:00
Reid Spencer
4391aa042c
Okay, over/back tags don't next.
...
llvm-svn: 40904
2007-08-07 17:48:56 +00:00
Devang Patel
19211b6528
Use eraseFromParent().
...
llvm-svn: 40903
2007-08-07 17:45:35 +00:00
Reid Spencer
5f5bb46e95
Try an indent level for better formatting.
...
Add the -version option.
llvm-svn: 40902
2007-08-07 17:43:48 +00:00
Chris Lattner
d402939b40
add some helpers
...
llvm-svn: 40901
2007-08-07 17:33:34 +00:00
Reid Spencer
d64584f64b
Add the code generation options.
...
llvm-svn: 40900
2007-08-07 17:12:43 +00:00
David Greene
c600d65e2b
Make this code more efficient
...
llvm-svn: 40899
2007-08-07 16:57:55 +00:00
David Greene
bacdbaa0da
Fix comment typo
...
llvm-svn: 40898
2007-08-07 16:52:03 +00:00
David Greene
816a190cdf
Fix GLIBCXX_DEBUG error triggered by incrementing erased iterator.
...
llvm-svn: 40897
2007-08-07 16:44:38 +00:00
David Greene
99905f16f8
Add a missing forward declaration.
...
llvm-svn: 40896
2007-08-07 16:34:05 +00:00
Reid Spencer
50138fec19
Rearrange options into sections and add the last floating point related option.
...
llvm-svn: 40895
2007-08-07 16:29:57 +00:00
Reid Spencer
30b4ae5005
Add the -disable-excess-fp-precision option.
...
llvm-svn: 40894
2007-08-07 16:23:42 +00:00
Reid Spencer
ef3a6a3c7a
Add another missing option.
...
llvm-svn: 40893
2007-08-07 16:21:52 +00:00
Reid Spencer
718eb7f19b
Add some more missing options.
...
llvm-svn: 40892
2007-08-07 16:11:57 +00:00
Reid Spencer
a8f72c72a6
Remove the -f option which is no longer supported, but add the -fake-argv0
...
option which is similar.
llvm-svn: 40891
2007-08-07 15:48:16 +00:00
Reid Spencer
b23b65f1ba
Describe the global/local naming convention.
...
llvm-svn: 40890
2007-08-07 14:34:28 +00:00
Nick Lewycky
76fb226fd4
Add reference to problem report.
...
llvm-svn: 40889
2007-08-07 12:27:03 +00:00
Evan Cheng
f7c6effc44
Initial JIT support for ARM by Raul Fernandes Herbster.
...
llvm-svn: 40887
2007-08-07 01:37:15 +00:00
Dale Johannesen
57c6ac5fe5
Long double patch 7 of N, unless I lost count:).
...
Last x87 bits for full functionality (not
thoroughly tested, and long doubles do not work
in SSE modes at all - use -mcpu=i486 for now)
llvm-svn: 40886
2007-08-07 01:17:37 +00:00
Owen Anderson
a64832f60e
Get rid of unnecessary #include.
...
llvm-svn: 40885
2007-08-07 00:38:16 +00:00
Owen Anderson
68c6732d2c
Clean up a bunch of caching stuff in memdep. This reduces the time to run GVN
...
on 403.gcc from ~15s to ~10s.
llvm-svn: 40884
2007-08-07 00:33:45 +00:00