Jeff Cohen
f99052befb
Unbreak VC++ build.
...
llvm-svn: 32113
2006-12-02 02:22:01 +00:00
Chris Lattner
7a39941897
Switch analysis groups to be unregistered when llvm_shutdown is called.
...
llvm-svn: 32110
2006-12-01 23:46:50 +00:00
Chris Lattner
1b0e89e022
Start moving pass registration over to using the ManagedStatic mechanism.
...
This fixes issues where passes get unregistered before llvm_shutdown is
called, and is generally cleaner and simpler. Analysis groups up next.
llvm-svn: 32108
2006-12-01 23:27:45 +00:00
Chris Lattner
a2bd5d4aaa
move 'cfgonly' pass tracking into PassInfo, instead of handling it with
...
yet-another global data structure.
llvm-svn: 32102
2006-12-01 22:21:11 +00:00
Chris Lattner
64b24381a8
These should be rewritten to fold without using the 'Rules' mechanism, but
...
until this happens at least make sext from bool and sitofp from bool do the
right thing.
llvm-svn: 32087
2006-12-01 19:50:54 +00:00
Chris Lattner
7e0d6868fd
this logic is broken for trunc to bool, replace the folding logic for trunc
...
completely, as it is trivial. We should probably do this for the rest of the
cast operations. This fixes ConstProp/2006-12-01-TruncBoolBug.ll.
llvm-svn: 32081
2006-12-01 19:22:41 +00:00
Chris Lattner
497c976859
add a new ConstantIntegral::get method. Simplify the implementation of
...
ConstantInt::get
llvm-svn: 32080
2006-12-01 19:20:02 +00:00
Chris Lattner
c65612e859
Fix a typo introduced by the cast patch that horribly broke a lot of vector
...
code. Testcase here: Transforms/ConstProp/2006-11-30-vector-cast.ll
llvm-svn: 32062
2006-12-01 05:55:25 +00:00
Reid Spencer
a1613b631b
Don't fold "ptrtoint GV to bool" since this should be doing a truncate not
...
a comparison against zero. Instead fold setne(GV,null) and seteq(GV,null)
to ConstantBool::True or ConstantBool::False, respectively.
llvm-svn: 32060
2006-12-01 03:56:30 +00:00
Anton Korobeynikov
f627d28d9c
Introducing external weak linkage. Darwin codegen should be added later.
...
llvm-svn: 32052
2006-12-01 00:25:12 +00:00
Bill Wendling
aa02717a76
Changed to using LLVM streams.
...
llvm-svn: 31955
2006-11-28 02:09:03 +00:00
Reid Spencer
992d9788b3
For PR950:
...
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.
llvm-svn: 31931
2006-11-27 01:05:10 +00:00
Reid Spencer
6e34ef887b
For PR950:
...
First in a series of patches to convert SetCondInst into ICmpInst and
FCmpInst using only two opcodes and having the instructions contain their
predicate value. Nothing uses these classes yet. More patches to follow.
llvm-svn: 31867
2006-11-20 01:22:35 +00:00
Bill Wendling
1838be30c7
Removed iostream #includes. Replaced std::cerr with DOUT.
...
llvm-svn: 31814
2006-11-17 08:03:48 +00:00
Devang Patel
6060a1e3dc
Add run(Function &F) support in FunctionPassManager_New
...
llvm-svn: 31756
2006-11-15 19:39:54 +00:00
Devang Patel
c252225cec
Tidy up marking of last analysis user pass.
...
llvm-svn: 31746
2006-11-15 01:48:14 +00:00
Devang Patel
343e099f5d
Add doInitialization and doFinalization support in FunctionManager_New.
...
llvm-svn: 31745
2006-11-15 01:27:05 +00:00
Devang Patel
55ee589fb9
Do not derive CommonPassManagerImpl from Pass.
...
Now BasicBlockPassManager_New is a FunctionPass,
FunctionPassManager_New is a ModulePass
llvm-svn: 31744
2006-11-15 01:11:27 +00:00
Devang Patel
4f5849544b
Copy initializeAnalysisImpl() implementation from PassManagerT.
...
Update LastUser to recursively walk required transitive set.
llvm-svn: 31741
2006-11-14 21:49:36 +00:00
Devang Patel
bb3da3a9a1
Implement removeDeadPasses().
...
llvm-svn: 31722
2006-11-14 03:05:08 +00:00
Devang Patel
816f60d7e9
Keep track of Last user of analysis phase.
...
llvm-svn: 31721
2006-11-14 02:54:23 +00:00
Devang Patel
2b9bd4aa34
Use std::map to map AnalysisID and Pass.
...
llvm-svn: 31720
2006-11-14 01:59:59 +00:00
Devang Patel
bcc72c8a5a
Manage analysis passes during run.
...
llvm-svn: 31716
2006-11-14 01:23:29 +00:00
Devang Patel
fa6da87694
Update comments.
...
llvm-svn: 31713
2006-11-14 00:03:04 +00:00
Devang Patel
5297c37d63
Update PassManagerImpl_New::analysisCurrentlyAvailable to check all
...
managed passmanagers.
llvm-svn: 31710
2006-11-13 22:53:19 +00:00
Devang Patel
84dd1c2764
Check currently available anlysis in active managers.
...
llvm-svn: 31709
2006-11-13 22:40:09 +00:00
Devang Patel
27cf4a91e7
Implement schedulePasses().
...
llvm-svn: 31671
2006-11-11 02:22:31 +00:00
Devang Patel
b324dacabf
Implement PassManagerImpl_New::add().
...
Just add pass into the pass manager queue without processing analysis.
llvm-svn: 31670
2006-11-11 02:06:21 +00:00
Devang Patel
f00e57a19c
While adding pass into the manager, process Analysis only if it is
...
required to do so.
llvm-svn: 31669
2006-11-11 02:04:19 +00:00
Devang Patel
0eb0bad5e8
Remove dead code.
...
llvm-svn: 31668
2006-11-11 01:56:39 +00:00
Devang Patel
71420afe60
Code refactoring. Move common code into CommonPassManagerImpl :)
...
llvm-svn: 31667
2006-11-11 01:51:02 +00:00
Devang Patel
785d727d1c
Move CommonPassManagerImpl from PassManager.h to PassManager.cpp
...
llvm-svn: 31666
2006-11-11 01:31:05 +00:00
Devang Patel
9e926cd9f8
Remove analysis that is not preserved by the pass from AvailableAnalysis.
...
llvm-svn: 31665
2006-11-11 01:24:55 +00:00
Devang Patel
124cfa3f26
Keep track if analysis made available by the pass.
...
llvm-svn: 31664
2006-11-11 01:10:19 +00:00
Devang Patel
1bff0f0174
Keep track of analysis required by the passes. Force use of new pass
...
manager if a pass does not preserve analysis that is used by other
passes.
llvm-svn: 31659
2006-11-11 00:42:16 +00:00
Devang Patel
a9504181aa
s/PassManagerAnalysisHelper/CommonPassManagerImpl
...
Inherit CommonPassManagerImpl from Pass.
llvm-svn: 31642
2006-11-10 21:33:13 +00:00
Jim Laskey
28fec74f1b
Remove redundant <cmath>.
...
llvm-svn: 31561
2006-11-08 19:16:44 +00:00
Devang Patel
0aa28c8146
Split FunctionPassManager_New into FunctionPassManager_New and FunctionPassManagerImpl_New.
...
FunctionPassManagerImpl_New implements the pass manager.
FunctionPassManager_New is the public interface.
llvm-svn: 31547
2006-11-08 10:44:40 +00:00
Devang Patel
12982590fa
Split PassManager_New into PassManager_New and PassManagerImpl_New.
...
PassManagerImpl_New implements the pass manager.
PassManager_New is the public interface.
llvm-svn: 31546
2006-11-08 10:29:57 +00:00
Devang Patel
03dc236bdd
Move BasicBlockPassManager_New, FunctionPassManager_New and
...
ModulePassManager_New class declarations from PassManager.h
to PassManager.cpp
llvm-svn: 31545
2006-11-08 10:05:38 +00:00
Reid Spencer
da1f5b882a
For PR950:
...
This patch converts the old SHR instruction into two instructions,
AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not
dependent on the sign of their operands.
llvm-svn: 31542
2006-11-08 06:47:33 +00:00
Devang Patel
432399869d
Beautify.
...
llvm-svn: 31533
2006-11-08 01:31:28 +00:00
Devang Patel
47de6ddc07
Update new pass managers to use PassManagerAnalysisHelper API.
...
llvm-svn: 31526
2006-11-07 22:56:50 +00:00
Devang Patel
fece2777c4
Introduce PassManagerAnalysisHelper.
...
llvm-svn: 31522
2006-11-07 22:35:17 +00:00
Devang Patel
6d4ef98c03
Add PassManager_New.
...
llvm-svn: 31521
2006-11-07 22:23:34 +00:00
Devang Patel
cacc940858
Add ModulePassManager_New.
...
llvm-svn: 31517
2006-11-07 22:03:15 +00:00
Devang Patel
9a2c6538dd
Add FunctionPassManager_New.
...
llvm-svn: 31515
2006-11-07 21:49:50 +00:00
Devang Patel
b7d2cd5ec2
Add BasicBlockPassManager_New.
...
llvm-svn: 31513
2006-11-07 21:31:57 +00:00
Reid Spencer
4bafa71dc1
For PR786:
...
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
llvm-svn: 31380
2006-11-02 20:25:50 +00:00
Reid Spencer
c3ef589d23
Remove unused variable.
...
llvm-svn: 31376
2006-11-02 08:23:44 +00:00