Commit Graph

1360 Commits

Author SHA1 Message Date
Devang Patel db789fb8f2 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 90b05e0bc3 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 2efbad4a72 Remove dead code.
llvm-svn: 31668
2006-11-11 01:56:39 +00:00
Devang Patel 8cad70de14 Code refactoring. Move common code into CommonPassManagerImpl :)
llvm-svn: 31667
2006-11-11 01:51:02 +00:00
Devang Patel a98445962d Move CommonPassManagerImpl from PassManager.h to PassManager.cpp
llvm-svn: 31666
2006-11-11 01:31:05 +00:00
Devang Patel 349170f5da Remove analysis that is not preserved by the pass from AvailableAnalysis.
llvm-svn: 31665
2006-11-11 01:24:55 +00:00
Devang Patel 643676c1f5 Keep track if analysis made available by the pass.
llvm-svn: 31664
2006-11-11 01:10:19 +00:00
Devang Patel 6c9f548704 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 0ed477969f s/PassManagerAnalysisHelper/CommonPassManagerImpl
Inherit CommonPassManagerImpl from Pass.

llvm-svn: 31642
2006-11-10 21:33:13 +00:00
Jim Laskey 61feeb90f9 Remove redundant <cmath>.
llvm-svn: 31561
2006-11-08 19:16:44 +00:00
Devang Patel 4e12f86a1b 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 376fefafb2 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 ca58e3532f 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 fdff938a7e 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 d65e9e9fd8 Beautify.
llvm-svn: 31533
2006-11-08 01:31:28 +00:00
Devang Patel 3c8eb62560 Update new pass managers to use PassManagerAnalysisHelper API.
llvm-svn: 31526
2006-11-07 22:56:50 +00:00
Devang Patel f68a34908d Introduce PassManagerAnalysisHelper.
llvm-svn: 31522
2006-11-07 22:35:17 +00:00
Devang Patel c290c8a2c8 Add PassManager_New.
llvm-svn: 31521
2006-11-07 22:23:34 +00:00
Devang Patel 05e1a970f3 Add ModulePassManager_New.
llvm-svn: 31517
2006-11-07 22:03:15 +00:00
Devang Patel 0c2012ffb3 Add FunctionPassManager_New.
llvm-svn: 31515
2006-11-07 21:49:50 +00:00
Devang Patel 6e5a113923 Add BasicBlockPassManager_New.
llvm-svn: 31513
2006-11-07 21:31:57 +00:00
Reid Spencer de46e48420 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 5162c6a67d Remove unused variable.
llvm-svn: 31376
2006-11-02 08:23:44 +00:00
Reid Spencer 3054b14059 Remove unused variables.
llvm-svn: 31375
2006-11-02 08:18:15 +00:00
Reid Spencer 7eb55b395f For PR950:
Replace the REM instruction with UREM, SREM and FREM.

llvm-svn: 31369
2006-11-02 01:53:59 +00:00
Devang Patel bf0a5c2d56 Update comment. Valid option is -debug-pass=Structures.
llvm-svn: 31297
2006-10-30 19:25:54 +00:00
Reid Spencer 115511f2e2 Make the Value and Type methods print a newline so it prints nicely in gdb
llvm-svn: 31221
2006-10-27 18:58:54 +00:00
Evan Cheng e974da6bb7 Speed up isCString()
llvm-svn: 31206
2006-10-26 21:48:03 +00:00
Evan Cheng 3763c5b1c4 Add isCString() - returns true if a ConstantArray is a CString.
llvm-svn: 31201
2006-10-26 19:15:05 +00:00
Chris Lattner 91386800ea Fix Transforms/InstCombine/2006-10-26-VectorReassoc.ll
llvm-svn: 31200
2006-10-26 18:27:26 +00:00
Chris Lattner fac5f9110c Add isFPOrFPVector() method, which indicates if a type is either FP or a
vector of FP types.

llvm-svn: 31198
2006-10-26 18:22:45 +00:00
Reid Spencer 7e80b0b31e 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.

llvm-svn: 31195
2006-10-26 06:15:43 +00:00
Reid Spencer 810dd064aa Make the makefile tell us when Intrinsics.gen is being updated.
llvm-svn: 31191
2006-10-26 01:42:23 +00:00
Chris Lattner 0489716a67 Change keyword to datalayout
llvm-svn: 31107
2006-10-22 06:06:56 +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
Chris Lattner 23dd1f6325 add a method to determine whether evaluation of a constant can trap.
llvm-svn: 31059
2006-10-20 00:27:06 +00:00
Owen Anderson e223754ff4 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.

llvm-svn: 31030
2006-10-18 02:21:12 +00:00
Chris Lattner 04e71c6e4d label* is not a valid type, add an assertion.
llvm-svn: 30968
2006-10-15 23:21:12 +00:00
Chris Lattner 057083f0e7 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.

llvm-svn: 30931
2006-10-13 17:22:21 +00:00
Chris Lattner 65511ff69d Add insertelement/extractelement helper ctors.
llvm-svn: 30750
2006-10-05 06:24:58 +00:00
Chris Lattner 19721e8749 getFilename/getDirectory shouldn't abort if the global has no init. This
can happen on bugpoint reduced testcases f.e..

llvm-svn: 30729
2006-10-04 23:06:26 +00:00
Chris Lattner 87732cfb71 Add a version of the globalvariable ctor that inserts at a specific location.
llvm-svn: 30677
2006-09-30 21:31:26 +00:00
Chris Lattner b10b72e362 Minor cleanups
llvm-svn: 30668
2006-09-28 23:45:00 +00:00
Chris Lattner befaee91d3 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.

llvm-svn: 30667
2006-09-28 23:38:07 +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 7843066e15 Eliminate ConstantBool::True and ConstantBool::False. Instead, provideConstantBool::getTrue() and ConstantBool::getFalse().
llvm-svn: 30664
2006-09-28 23:34:49 +00:00
Chris Lattner 94e39cbdfe simplify code
llvm-svn: 30655
2006-09-28 22:50:29 +00:00
Chris Lattner c7d3195254 remove reference to dead method
llvm-svn: 30641
2006-09-28 00:38:19 +00:00
Chris Lattner 69edc98b74 Use the new ManagedStatic class to explicitly manage static variables, eliminating static ctors/dtors
llvm-svn: 30639
2006-09-28 00:35:06 +00:00
Chris Lattner 4091f4690a add method, correct comment
llvm-svn: 30584
2006-09-23 04:03:45 +00:00