Chris Lattner
50cbb9081a
Eliminate tons of bogus warnings
...
llvm-svn: 5686
2003-03-03 19:57:46 +00:00
Chris Lattner
dbb05b0f09
Replace assertion with a handler.
...
llvm-svn: 5653
2003-02-27 20:55:48 +00:00
Chris Lattner
04c9274e50
Fix a bug that cause a crash resolving questionable function calls
...
llvm-svn: 5567
2003-02-14 19:12:29 +00:00
Chris Lattner
ade85ecf77
Fix a misunderstanding of the standard associative containers
...
llvm-svn: 5565
2003-02-14 05:34:36 +00:00
Chris Lattner
4ecd2d0125
Fix a problem Sumant was running into
...
llvm-svn: 5499
2003-02-06 22:03:46 +00:00
Chris Lattner
82723d73ba
Split public interface out into header file
...
llvm-svn: 5472
2003-02-03 19:08:18 +00:00
Chris Lattner
c44c04af44
Change DSGraph stuff to use hash_(set|map) instead of std::(set|map)
...
This change provides a small (3%) but consistent speedup
llvm-svn: 5460
2003-02-01 04:52:08 +00:00
Chris Lattner
68f63f779c
Fix a bug resolving sprintf(...) to sprintf(char*, char*, ...)
...
llvm-svn: 5446
2003-01-30 22:38:44 +00:00
Chris Lattner
47948952dd
Actually print the function _name_ if there is a problem
...
llvm-svn: 5443
2003-01-30 21:33:07 +00:00
Chris Lattner
b2d9f7dcc9
* Fix function resolution for varargs function to generate incorrect bytecode instead of crashing
...
* remove using decls
CVS: ----------------------------------------------------------------------
llvm-svn: 5437
2003-01-30 18:22:32 +00:00
Chris Lattner
6e07784692
Initial checkin of pool allocation code
...
llvm-svn: 5432
2003-01-29 21:12:13 +00:00
Chris Lattner
d1fd7e958c
Disable construction of pool allocator
...
llvm-svn: 5422
2003-01-24 20:13:20 +00:00
Chris Lattner
661841c49b
Fix references to functions
...
llvm-svn: 5222
2003-01-13 00:27:23 +00:00
Vikram S. Adve
d9676ed983
External routines used to identify Cilk operations inserted by the
...
parallelization pass.
llvm-svn: 4965
2002-12-10 13:08:48 +00:00
Vikram S. Adve
9a672d17ae
This file implements a pass that automatically parallelizes a program,
...
using the Cilk multi-threaded runtime system to execute parallel code.
The current version inserts too many sync() operations in the program
because it does not attempt to optimize their placement.
llvm-svn: 4962
2002-12-10 00:43:34 +00:00
Chris Lattner
8016a16ed0
Fix symbol table problem
...
llvm-svn: 4785
2002-11-20 19:32:43 +00:00
Chris Lattner
98cf1f5d64
- Eliminated the deferred symbol table stuff in Module & Function, it really
...
wasn't an optimization and it was causing lots of bugs.
llvm-svn: 4779
2002-11-20 18:36:02 +00:00
Chris Lattner
c362618f2a
Minor changes to cloning interface
...
llvm-svn: 4770
2002-11-19 22:54:01 +00:00
Chris Lattner
b1120055b9
Rework inline pass to use cloning infrastructure to do the dirty work
...
llvm-svn: 4766
2002-11-19 21:54:07 +00:00
Chris Lattner
1666751257
Start using the new function cloning header
...
llvm-svn: 4764
2002-11-19 20:59:41 +00:00
Chris Lattner
d06467db62
Move MutatStructTypes.h out of IPO
...
llvm-svn: 4762
2002-11-19 20:49:40 +00:00
Chris Lattner
fb8ca4a899
Rename CloneFunction.h to Cloning.h
...
llvm-svn: 4760
2002-11-19 20:08:24 +00:00
Chris Lattner
58f9002b4a
Move the function extractor pass from tools/extract into lib/Xform/IPO
...
llvm-svn: 4759
2002-11-19 18:42:59 +00:00
Chris Lattner
52b8fc0c35
Fix testcase: FunctionResolve/2002-11-09-ExternFn.ll
...
llvm-svn: 4668
2002-11-10 03:36:55 +00:00
Chris Lattner
17069b342a
Use the new getMainFunction() method to efficiently locate main
...
llvm-svn: 4630
2002-11-08 20:34:21 +00:00
Chris Lattner
5997c3d866
Fix bug: FunctionResolve/2002-11-07-RetMismatch.ll
...
llvm-svn: 4618
2002-11-08 00:38:20 +00:00
Chris Lattner
3ff5457b32
Really disable pool allocator
...
llvm-svn: 4216
2002-10-17 04:57:09 +00:00
Chris Lattner
149376dee5
- Change Function's so that their argument list is populated when they are
...
constructed. Before, external functions would have an empty argument list,
now a Function ALWAYS has a populated argument list.
llvm-svn: 4149
2002-10-13 20:57:00 +00:00
Chris Lattner
5f9f4e3aac
Account for global variables resolved more accurately.
...
llvm-svn: 4143
2002-10-13 17:30:30 +00:00
Chris Lattner
88dbc4dbe9
Use methods that are more explanatory
...
llvm-svn: 4142
2002-10-13 17:12:47 +00:00
Chris Lattner
1a535e18cd
Stop using DataStructureGraph.h
...
llvm-svn: 4106
2002-10-10 20:33:46 +00:00
Chris Lattner
eac4dcd0bd
- Dramatically simplify the ConstantMerge code now that
...
Value::replaceAllUsesWith works with constants correctly.
llvm-svn: 4104
2002-10-09 23:16:04 +00:00
Chris Lattner
013eca003a
Almost a complete rewrite of FunctionResolution to now resolve functions
...
and global variables.
This fixes bug: FuncResolve/2002-08-19-ResolveGlobalVarsEasier.ll
And bug: SingleSource/UnitTests/2002-10-09-ArrayResolution.c
Note that this does not fix bug:
FunctionResolve/2002-08-19-ResolveGlobalVars.ll because replaceAllUsesWith
breaks when a constantexpr is pointing to the thing being replaced. This
is more of an infrastructure problem than anything.
llvm-svn: 4099
2002-10-09 21:10:06 +00:00
Chris Lattner
68f21bcb1b
Non-functionality change just to make it more clear what is going on
...
llvm-svn: 4060
2002-10-07 18:34:32 +00:00
Chris Lattner
bf3a099a62
Updates to work with recent Statistic's changes:
...
* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
* Broke constructor to take two const char * arguments instead of one, so
that indendation can be taken care of automatically.
* Sort the list by pass name when printing
* Make sure to print all statistics as a group, instead of randomly when
the statistics dtors are called.
* Updated ProgrammersManual with new semantics.
llvm-svn: 4002
2002-10-01 22:38:41 +00:00
Chris Lattner
3cf3782bc0
Updates to work with recent Statistic's changes:
...
* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
* Broke constructor to take two const char * arguments instead of one, so
that indendation can be taken care of automatically.
* Sort the list by pass name when printing
* Make sure to print all statistics as a group, instead of randomly when
the statistics dtors are called.
* Updated ProgrammersManual with new semantics.
llvm-svn: 4001
2002-10-01 22:38:37 +00:00
Chris Lattner
870a4a5bb4
Converted SimpleStructMutation to take TargetData as a required pass.
...
llvm-svn: 3932
2002-09-26 00:17:21 +00:00
Chris Lattner
28d103548d
Fix: ConstantMerge/2002-09-23-CPR-Update.ll
...
Basically, this bug boiled down to calling replaceUsesOfWith on a constant,
which changed it's shape in an illegal way. This pass now goes through all
of the trouble neccesary to do the replacement on constants.
llvm-svn: 3895
2002-09-23 23:00:46 +00:00
Chris Lattner
facc751260
Don't insert a PHI node to merge "returns" from an inlined function if there
...
is only a single return from the function!
llvm-svn: 3878
2002-09-22 18:41:25 +00:00
Chris Lattner
afb4fc189c
Fix FunctionInlining pass assertion failure:
...
ilist:104: failed assertion `Traits::getNext(NodePtr) != 0 && "Dereferencing end()!"'
llvm-svn: 3768
2002-09-16 22:30:20 +00:00
Misha Brukman
2e8086f046
Function.h is unnecessary when Module.h is included.
...
llvm-svn: 3716
2002-09-14 03:04:02 +00:00
Misha Brukman
09d24c7374
Following Chris's advice, I'm pruning some unnecessary .h includes that I'm
...
noticing. Since Module includes Function, and eventually, BasicBlock and
GlobalVariable, the last three are unnecessary to be included directly.
llvm-svn: 3713
2002-09-14 02:06:53 +00:00
Chris Lattner
fc91ee91e8
Change the MallocInst & AllocaInst ctors to take the allocated type, not the
...
pointer type returned.
llvm-svn: 3711
2002-09-13 22:28:50 +00:00
Chris Lattner
322bf4f3a9
Change the MallocInst & AllocaInst ctors to take the allocated type, not the
...
pointer type returned.
llvm-svn: 3710
2002-09-13 22:28:45 +00:00
Chris Lattner
9674b869e5
Fix bug in previous checkin
...
llvm-svn: 3672
2002-09-10 23:31:12 +00:00
Chris Lattner
f80f7b02b7
Clean up code due to auto-insert constructors
...
llvm-svn: 3666
2002-09-10 22:38:49 +00:00
Chris Lattner
a239e6879d
Clean up code due to auto-insert constructors
...
llvm-svn: 3665
2002-09-10 22:38:47 +00:00
Chris Lattner
5c447863d5
Simplify code (somtimes dramatically), by using the new "auto-insert" feature
...
of instruction constructors.
llvm-svn: 3655
2002-09-10 17:03:06 +00:00
Chris Lattner
5f00d66cc3
Factor silly code duplication out
...
llvm-svn: 3627
2002-09-08 21:47:54 +00:00
Chris Lattner
02fe752fbd
Eliminated the MemAccessInst class, folding contents into GEP class.
...
llvm-svn: 3488
2002-08-22 23:37:24 +00:00