Andrew Lenharth
9cdaa53007
Make these hack flags hidden, like other dsa hack flags
...
llvm-svn: 31136
2006-10-23 19:55:24 +00:00
Andrew Lenharth
0c3211eff0
Revert the aggressive inlining for now, it doesn't handle external correctly
...
llvm-svn: 31135
2006-10-23 19:53:37 +00:00
Jim Laskey
bd7a1d2b4d
[SU]int update - inactive code may get activated someday
...
llvm-svn: 31128
2006-10-23 14:39:22 +00:00
Reid Spencer
e0fc4dfc22
For PR950:
...
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.
llvm-svn: 31063
2006-10-20 07:07:24 +00:00
Andrew Lenharth
966645e6b4
Move some warnings to debug mode.
...
llvm-svn: 30933
2006-10-13 17:38:22 +00:00
Chris Lattner
aba5e1ee97
Fix a bug pointed out by Zhongxing Xu
...
llvm-svn: 30831
2006-10-09 17:28:13 +00:00
Chris Lattner
8111c59279
Fix more static dtor issues
...
llvm-svn: 30725
2006-10-04 21:52:35 +00:00
Chris Lattner
538c6eb05c
Fix some more static dtor issues.
...
llvm-svn: 30724
2006-10-04 21:49:37 +00:00
Jim Laskey
1368c265da
Add ability to annotate (color) nodes in a viewGraph.
...
llvm-svn: 30686
2006-10-02 12:26:53 +00:00
Chris Lattner
134ff353f9
Fixme is already done
...
llvm-svn: 30685
2006-10-01 22:46:33 +00:00
Chris Lattner
bfdd19bc01
Teach globalsmodref-aa to track scalar pointer global variables which point
...
to unaliased allocations. Use this information to disambiguate pointers loaded
from them. This is a very common case, so it's worthwhile to handle efficiently.
This implements Analysis/GlobalsModRef/indirect-global.ll
llvm-svn: 30684
2006-10-01 22:36:45 +00:00
Chris Lattner
a84df0a2f1
Eliminate ConstantBool::True and ConstantBool::False. Instead, provide
...
ConstantBool::getTrue() and ConstantBool::getFalse().
llvm-svn: 30666
2006-09-28 23:36:21 +00:00
Chris Lattner
a7b5664318
Simplify some code
...
llvm-svn: 30658
2006-09-28 23:14:29 +00:00
Devang Patel
0a79537341
Fix DFS walk.
...
Fix http://llvm.org/bugs/show_bug.cgi?id=923
llvm-svn: 30630
2006-09-27 17:18:05 +00:00
Nick Lewycky
241211939d
Explain change with a comment.
...
llvm-svn: 30443
2006-09-17 17:51:00 +00:00
Nick Lewycky
c7b465366a
Fix PR912. The input to erase() must not be a reference to the data
...
being erased.
llvm-svn: 30442
2006-09-17 16:23:36 +00:00
Devang Patel
0142cd129e
Untabify.
...
llvm-svn: 30168
2006-09-07 23:29:19 +00:00
Devang Patel
b8164e6131
Use iterative do-while loop instead of recursive DFSPass calls to
...
reduce amount of stack space used at runtime.
llvm-svn: 30167
2006-09-07 23:22:37 +00:00
Devang Patel
f489d0f85c
Do not rely on std::sort and std::erase to get list of unique
...
exit blocks. The output is dependent on addresses of basic block.
Add and use Loop::getUniqueExitBlocks.
llvm-svn: 29966
2006-08-29 22:29:16 +00:00
Reid Spencer
e7141c8be6
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.
llvm-svn: 29934
2006-08-28 01:02:49 +00:00
Chris Lattner
97c9f20c52
simplify AnalysisGroup registration, eliminating one typeid call.
...
llvm-svn: 29932
2006-08-28 00:42:29 +00:00
Chris Lattner
c2d3d3112e
eliminate RegisterOpt. It does the same thing as RegisterPass.
...
llvm-svn: 29925
2006-08-27 22:42:52 +00:00
Chris Lattner
a4c1bc74b9
Fit to 80 cols
...
llvm-svn: 29922
2006-08-27 22:31:12 +00:00
Chris Lattner
3c9b2420df
Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.
...
llvm-svn: 29921
2006-08-27 22:30:17 +00:00
Chris Lattner
3d27be1333
s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|
...
llvm-svn: 29911
2006-08-27 12:54:02 +00:00
Chris Lattner
e7134c5f69
Fix PR885
...
llvm-svn: 29794
2006-08-21 17:20:01 +00:00
Chris Lattner
859a138dc4
Make Loop::getExitBlocks significantly faster for large loops. Instead of
...
pounding on Loop::contains (which is O(n) in the size of the loop), use a
sorted vector, which is O(log(N)) for each query. This speeds up Duraid's
horrible testcase from ~72s to ~31s in a debug build.
llvm-svn: 29645
2006-08-12 05:02:03 +00:00
Chris Lattner
4d074f795a
Speed up Loop::isLCSSAForm by using a binary search and single-entry cache.
...
This reduces LCSSA pass time from 1.5s to 0.96s when run on eon in release+asserts mode.
llvm-svn: 29464
2006-08-02 00:14:16 +00:00
Chris Lattner
5de3b8b262
Change the callgraph representation to store the callsite along with the
...
target CG node. This allows the inliner to properly update the callgraph
when using the pruning inliner. The pruning inliner may not copy over all
call sites from a callee to a caller, so the edges corresponding to those
call sites should not be copied over either.
This fixes PR827 and Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll
llvm-svn: 29120
2006-07-12 18:29:36 +00:00
Jim Laskey
f7300b2706
It was pointed out that DEBUG() is only available with -debug.
...
llvm-svn: 29106
2006-07-11 18:25:13 +00:00
Jim Laskey
c3d341ea98
Ensure that dump calls that are associated with asserts are removed from
...
non-debug build.
llvm-svn: 29105
2006-07-11 17:58:07 +00:00
Chris Lattner
996795b0dd
Use hidden visibility to make symbols in an anonymous namespace get
...
dropped. This shrinks libllvmgcc.dylib another 67K
llvm-svn: 28975
2006-06-28 23:17:24 +00:00
Andrew Lenharth
5b10cfcc39
add some missing externals
...
llvm-svn: 28955
2006-06-28 01:16:06 +00:00
Chris Lattner
90213c6c18
Handle alias sets that have been unified, and thus can have other references
...
to them. This fixes a regression in my previous checkin.
llvm-svn: 28951
2006-06-27 23:56:13 +00:00
Chris Lattner
f4e0653b3a
Don't implement AliasSetTracker::remove in terms of deleteValue. deleteValue
...
causes the pointer to be removed from the underlying alias analysis
implementation as well. This impl of remove is also significantly faster than
the old one. This fixes:
Regression/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll
llvm-svn: 28950
2006-06-27 23:48:59 +00:00
Reid Spencer
ee7eaa25cf
For PR801:
...
Refactor the Graph writing code to use a common implementation which is
now in lib/Support/GraphWriter.cpp. This completes the PR.
Patch by Anton Korobeynikov. Thanks, Anton!
llvm-svn: 28925
2006-06-27 16:49:46 +00:00
Chris Lattner
e7d4e56961
Fix a stale pointer issue that caused 300.twolf to fail to build on zion
...
last night.
llvm-svn: 28916
2006-06-26 19:20:48 +00:00
Andrew Lenharth
a565dfda8e
Do partial inlining in BU. This resolves more call sites. Also add options to merge in globals during recursion and to back annotate DSNodes when function pointers are resolved. This makes PA work for a whole lot more things (unresolved call sites being what has been killing various DSA based passes)
...
llvm-svn: 28859
2006-06-19 18:23:36 +00:00
Andrew Lenharth
4335b3486a
Fix a bug, don't drop indirect call sites, especially if there is nothing known about them yet, and restore a simple version of a removed function
...
llvm-svn: 28857
2006-06-19 15:42:47 +00:00
Chris Lattner
7a708989df
Constant fold sqrtf
...
llvm-svn: 28853
2006-06-17 18:17:52 +00:00
Andrew Lenharth
0686842037
Add a error message to cbu to match bu
...
llvm-svn: 28819
2006-06-16 14:43:36 +00:00
Andrew Lenharth
fbee2e56cf
move header
...
llvm-svn: 28818
2006-06-16 14:33:53 +00:00
Owen Anderson
7e428625c9
Update isLCSSAForm to handle PHI nodes specially for live-out detection. This
...
is the same as the recent patch to LCSSA.cpp.
llvm-svn: 28773
2006-06-13 20:45:22 +00:00
Owen Anderson
b538f14d2a
Re-commit the safe parts of my 6/9 patch. Still working on fixing the unsafe parts.
...
llvm-svn: 28748
2006-06-11 19:22:28 +00:00
Evan Cheng
1b6e310e6f
Back out Owen's 6/9 changes. They broke MultiSource/Benchmarks/Prolangs-C/bison (and perhaps others).
...
llvm-svn: 28747
2006-06-11 09:32:57 +00:00
Owen Anderson
505adff3f0
Make Loop able to verify that it is in LCSSA-form, and have the LCSSA pass assert
...
on this.
llvm-svn: 28738
2006-06-09 18:33:30 +00:00
Reid Spencer
be535661cc
For PR780:
...
1. Fix the macros in IncludeFile.h to put everything in the llvm namespace
2. Replace the previous explicit mechanism in all the .h and .cpp files
with the macros in IncludeFile.h
This gets us a consistent mechanism throughout LLVM for ensuring linkage.
Next step is to make sure its used in enough places.
llvm-svn: 28715
2006-06-07 22:00:26 +00:00
Reid Spencer
54cb2d8533
For PR780:
...
Break the "IncludeFile" mechanism into its own header file and adjust other
files accordingly. Use this facility for the IntrinsicInst problem which
was the subject of PR800.
More to follow on this.
llvm-svn: 28709
2006-06-07 20:00:19 +00:00
Reid Spencer
7c77323e1d
For PR798:
...
Add support for Graphviz. Patch contributed by Anton Korobeynikov.
llvm-svn: 28684
2006-06-05 15:44:46 +00:00
Chris Lattner
20a4da4dfd
Fix -pedantic warning
...
llvm-svn: 28634
2006-06-01 17:17:46 +00:00