Devang Patel
c1d6e1fc9c
Manage analysis passes during run.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31716 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-14 01:23:29 +00:00
Devang Patel
5770c7cd52
Update comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31713 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-14 00:03:04 +00:00
Devang Patel
2718bfbaa6
Update PassManagerImpl_New::analysisCurrentlyAvailable to check all
...
managed passmanagers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31710 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-13 22:53:19 +00:00
Devang Patel
be6d515f48
Check currently available anlysis in active managers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31709 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-13 22:40:09 +00:00
Devang Patel
f8af6f0ec1
Implement schedulePasses().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31671 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 02:22:31 +00:00
Devang Patel
fcb2d940a0
Implement PassManagerImpl_New::add().
...
Just add pass into the pass manager queue without processing analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31670 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 02:06:21 +00:00
Devang Patel
893a5a6815
While adding pass into the manager, process Analysis only if it is
...
required to do so.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31669 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 02:04:19 +00:00
Devang Patel
f13dc1b9e8
Remove dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31668 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 01:56:39 +00:00
Devang Patel
e253385b10
Code refactoring. Move common code into CommonPassManagerImpl :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31667 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 01:51:02 +00:00
Devang Patel
85d344b0c6
Move CommonPassManagerImpl from PassManager.h to PassManager.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31666 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 01:31:05 +00:00
Devang Patel
14d6581a73
Remove analysis that is not preserved by the pass from AvailableAnalysis.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31665 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 01:24:55 +00:00
Devang Patel
b852616255
Keep track if analysis made available by the pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31664 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 01:10:19 +00:00
Devang Patel
a363a0bdef
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31659 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 00:42:16 +00:00
Devang Patel
37a84c7d8b
s/PassManagerAnalysisHelper/CommonPassManagerImpl
...
Inherit CommonPassManagerImpl from Pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31642 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 21:33:13 +00:00
Jim Laskey
d6c3422e31
Remove redundant <cmath>.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31561 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 19:16:44 +00:00
Devang Patel
c63592b19e
Split FunctionPassManager_New into FunctionPassManager_New and FunctionPassManagerImpl_New.
...
FunctionPassManagerImpl_New implements the pass manager.
FunctionPassManager_New is the public interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31547 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 10:44:40 +00:00
Devang Patel
5a39b2e806
Split PassManager_New into PassManager_New and PassManagerImpl_New.
...
PassManagerImpl_New implements the pass manager.
PassManager_New is the public interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31546 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 10:29:57 +00:00
Devang Patel
c67c938de2
Move BasicBlockPassManager_New, FunctionPassManager_New and
...
ModulePassManager_New class declarations from PassManager.h
to PassManager.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31545 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 10:05:38 +00:00
Reid Spencer
3822ff5c71
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31542 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 06:47:33 +00:00
Devang Patel
2c5d1851bb
Beautify.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31533 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 01:31:28 +00:00
Devang Patel
53596b6ba5
Update new pass managers to use PassManagerAnalysisHelper API.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31526 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-07 22:56:50 +00:00
Devang Patel
889739c4d1
Introduce PassManagerAnalysisHelper.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31522 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-07 22:35:17 +00:00
Devang Patel
b30803bc17
Add PassManager_New.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31521 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-07 22:23:34 +00:00
Devang Patel
92c45eebf7
Add ModulePassManager_New.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31517 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-07 22:03:15 +00:00
Devang Patel
448d27cd79
Add FunctionPassManager_New.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31515 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-07 21:49:50 +00:00
Devang Patel
55fd43f909
Add BasicBlockPassManager_New.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31513 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-07 21:31:57 +00:00
Reid Spencer
3ed469ccd7
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-02 20:25:50 +00:00
Reid Spencer
41562398b6
Remove unused variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31376 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-02 08:23:44 +00:00
Reid Spencer
4ab09d4bb7
Remove unused variables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31375 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-02 08:18:15 +00:00
Reid Spencer
0a783f783c
For PR950:
...
Replace the REM instruction with UREM, SREM and FREM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31369 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-02 01:53:59 +00:00
Devang Patel
b79a59dcfc
Update comment. Valid option is -debug-pass=Structures.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31297 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-30 19:25:54 +00:00
Reid Spencer
461076f052
Make the Value and Type methods print a newline so it prints nicely in gdb
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31221 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-27 18:58:54 +00:00
Evan Cheng
abf6345710
Speed up isCString()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31206 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 21:48:03 +00:00
Evan Cheng
22c7030a0c
Add isCString() - returns true if a ConstantArray is a CString.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31201 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 19:15:05 +00:00
Chris Lattner
4d3839ded2
Fix Transforms/InstCombine/2006-10-26-VectorReassoc.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31200 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 18:27:26 +00:00
Chris Lattner
2e1c196470
Add isFPOrFPVector() method, which indicates if a type is either FP or a
...
vector of FP types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31198 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 18:22:45 +00:00
Reid Spencer
1628cec4d7
For PR950:
...
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31195 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 06:15:43 +00:00
Reid Spencer
b43f00b3f5
Make the makefile tell us when Intrinsics.gen is being updated.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31191 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 01:42:23 +00:00
Chris Lattner
d2f9e609aa
Change keyword to datalayout
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31107 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-22 06:06:56 +00:00
Reid Spencer
b83eb6447b
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-20 07:07:24 +00:00
Chris Lattner
35b89fa639
add a method to determine whether evaluation of a constant can trap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31059 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-20 00:27:06 +00:00
Owen Anderson
cf7ff2b4c8
Add support for the new "target data" information in .ll files. This provides
...
a better encoding of the targets data layout, rather than trying to guess it
from the endianness and pointersize like before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31030 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 02:21:12 +00:00
Chris Lattner
f53104051e
label* is not a valid type, add an assertion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30968 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-15 23:21:12 +00:00
Chris Lattner
0eff5ad3db
Fix another dtor issue. The function local statics in this function were
...
being destroyed at inconvenient times. Switch to using non-local ManagedStatic
objects, which actually also speeds up ConstRules::get.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30931 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-13 17:22:21 +00:00
Chris Lattner
06a248c238
Add insertelement/extractelement helper ctors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30750 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-05 06:24:58 +00:00
Chris Lattner
df20b96ffd
getFilename/getDirectory shouldn't abort if the global has no init. This
...
can happen on bugpoint reduced testcases f.e..
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30729 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-04 23:06:26 +00:00
Chris Lattner
adc95467e4
Add a version of the globalvariable ctor that inserts at a specific location.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30677 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-30 21:31:26 +00:00
Chris Lattner
ab4fa4f377
Minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30668 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 23:45:00 +00:00
Chris Lattner
de65fb3a8b
Now that ConstantBool::True/False are gone, we can modify Type.cpp to
...
eliminate its static dtors, without having code that depends on order of
initialization. Eliminate static ctors/dtors from Type.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30667 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 23:38:07 +00:00
Chris Lattner
003cbf35f4
Eliminate ConstantBool::True and ConstantBool::False. Instead, provide
...
ConstantBool::getTrue() and ConstantBool::getFalse().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30666 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 23:36:21 +00:00