Commit Graph

16222 Commits

Author SHA1 Message Date
Devang Patel e31049fed5 Remove unused getAnalysisPass and getAnalysisPassFromManager
llvm-svn: 32378
2006-12-08 22:32:32 +00:00
Devang Patel 640c5bba77 Implement PMTopLevel::findAnalysisPass() and
PMDataManager::findAnalysisPass()

llvm-svn: 32377
2006-12-08 22:30:11 +00:00
Rafael Espindola d12d2250a7 %progbits not @progbits
llvm-svn: 32376
2006-12-08 22:06:02 +00:00
Reid Spencer efe5c862f1 Incorporate any changes in the successor blocks into the result of
MarkAliveBlocks.

llvm-svn: 32375
2006-12-08 21:52:01 +00:00
Rafael Espindola 94f29f129d add \"aw\",@progbits" to ctors and dtors
llvm-svn: 32373
2006-12-08 21:24:58 +00:00
Chris Lattner 8c9969ac03 Change the implementation of statistic to not need destructors at all.
Instead, the stat info is printed when llvm_shutdown() is called.
These also don't need static ctors, but getting rid of them is uglier:
still investigating.  This reduces the number of static dtors in llvm from
~1400 to ~750.

llvm-svn: 32372
2006-12-08 20:00:42 +00:00
Devang Patel 0e29e29cc5 During runOnModule() do initialization and finalization.
llvm-svn: 32371
2006-12-08 19:04:09 +00:00
Devang Patel 1929089ea2 Reuse code. Directly use runOnFunction().
llvm-svn: 32370
2006-12-08 19:03:05 +00:00
Devang Patel 1f65368a82 Implement FunctionPassManager_New::FunctionPassManager_New(ModuleProvider *P)
llvm-svn: 32368
2006-12-08 18:57:16 +00:00
Evan Cheng 78cb08d082 Move findTiedToSrcOperand to TargetInstrDescriptor.
llvm-svn: 32366
2006-12-08 18:45:48 +00:00
Rafael Espindola 87f4382163 fix truncstorei1
llvm-svn: 32364
2006-12-08 18:41:21 +00:00
Andrew Lenharth 2d189ff8cd Hopefully these are the regenerated files
llvm-svn: 32362
2006-12-08 18:07:09 +00:00
Andrew Lenharth dcb3c978c4 Packed Structures
llvm-svn: 32361
2006-12-08 18:06:16 +00:00
Evan Cheng bb4e6d4d12 Proper fix for PR1037: to determine is a VR is a modref, check 1) whether it is
tied to another oeprand, 2) whether is is being tied to by another operand. So
the destination operand of a two-address MI can be correctly identified.

llvm-svn: 32354
2006-12-08 08:02:34 +00:00
Evan Cheng 4539418a7b findTiedToSrcOperand() changed.
llvm-svn: 32353
2006-12-08 07:59:51 +00:00
Evan Cheng b5f1c22e94 Use MI's TargetInstrDescriptor.
llvm-svn: 32352
2006-12-08 07:57:56 +00:00
Chris Lattner 5040f58ae4 Fix a bug introduced by the streams patch. DEBUG code was made unconditional.
llvm-svn: 32351
2006-12-08 05:41:26 +00:00
Chris Lattner 09fecf9a47 this is an initial patch to switch the ppc64 jit over to working in PIC mode,
which allows the code to be above the 2G marker.  We still need to JIT emit
dyld stubs to support external, weak, common, etc globals, but that will
happen tomorrow.

llvm-svn: 32348
2006-12-08 04:54:03 +00:00
Chris Lattner 4d475f6e6e add a note
llvm-svn: 32347
2006-12-08 02:01:32 +00:00
Devang Patel e958559204 BasicBlockPassManager_New::runOnFunction()
Do initialization and finalization.

llvm-svn: 32346
2006-12-08 01:38:28 +00:00
Devang Patel 475c453c00 doInitialization and doFinalization for BasicBlockPassManager_New
llvm-svn: 32345
2006-12-08 00:59:05 +00:00
Devang Patel 17ad096dd8 Reimplement removeDeadPasses().
llvm-svn: 32344
2006-12-08 00:37:52 +00:00
Andrew Lenharth 085cfdbfdc Simplify a bit
llvm-svn: 32343
2006-12-07 23:55:55 +00:00
Devang Patel bc03f13b75 set Last User.
llvm-svn: 32342
2006-12-07 23:55:10 +00:00
Chris Lattner 13535c2d93 fix incorrect encoding of rldicr, used by ppc64 function stubs, etc.
llvm-svn: 32341
2006-12-07 23:44:07 +00:00
Bill Wendling 30c0f3367c Don't use <sstream> in Streams.h but <iosfwd> instead.
llvm-svn: 32340
2006-12-07 23:41:45 +00:00
Devang Patel 4c36e6bee0 Maintain level(or depth) of pass manager in pass manager food chain.
llvm-svn: 32339
2006-12-07 23:24:58 +00:00
Devang Patel 1d6267cac3 New method, PMDataManager::collectRequiredAnalysisPasses()
llvm-svn: 32338
2006-12-07 23:05:44 +00:00
Rafael Espindola 265fa68bd8 fix alignment
llvm-svn: 32337
2006-12-07 22:38:06 +00:00
Chris Lattner d9f04e4875 Fix CodeGen/PowerPC/2006-12-07-SelectCrash.ll on PPC64
llvm-svn: 32336
2006-12-07 22:36:47 +00:00
Devang Patel 4949fe01f1 When new pass manager is created, initialize available analysis info
of existing manager at the same level. Otherwise, such info may be
considered as available, which not true.

llvm-svn: 32334
2006-12-07 22:34:21 +00:00
Bill Wendling 9bfb1e1f29 What should be the last unnecessary <iostream>s in the library.
llvm-svn: 32333
2006-12-07 22:21:48 +00:00
Devang Patel f4805ce89a PMDataManager does not maintain LastUser info.
llvm-svn: 32332
2006-12-07 22:17:09 +00:00
Chris Lattner a9a817dc7d fix CodeGen/PowerPC/2006-12-07-LargeAlloca.ll on ppc64
llvm-svn: 32331
2006-12-07 22:15:58 +00:00
Devang Patel 17bff0dbdc Make current pass info available _after_ removing info that is not
preserved.

llvm-svn: 32329
2006-12-07 22:09:36 +00:00
Devang Patel 642c1437cf Add TODOs
llvm-svn: 32328
2006-12-07 21:58:50 +00:00
Devang Patel 28bbcbed4f Fix thinko.
llvm-svn: 32327
2006-12-07 21:44:12 +00:00
Devang Patel 31217aff9b Top level manages schedule the pass immediately at the time of insertion.
llvm-svn: 32326
2006-12-07 21:32:57 +00:00
Devang Patel abcd1d38ed Now FunctionPassManagerImpl_New and PassManagerImpl_New derives from
PMTopLevelManager.

llvm-svn: 32325
2006-12-07 21:27:23 +00:00
Devang Patel de124185fa Reimplement schedulePass interface. Move it into PMTopLevelManager.
llvm-svn: 32324
2006-12-07 21:10:57 +00:00
Devang Patel b3900320c6 While initializing AvailableAnalysis info, make ImmutablePasses available
immediately.

llvm-svn: 32323
2006-12-07 21:02:08 +00:00
Devang Patel e0eb9d8e31 Add ImmutablePass into the list of info managed by top level pass
manager.

llvm-svn: 32322
2006-12-07 20:51:18 +00:00
Bill Wendling 355fc5ad50 Removed more <iostream> includes
llvm-svn: 32321
2006-12-07 20:28:15 +00:00
Bill Wendling 22e978a736 Removing even more <iostream> includes.
llvm-svn: 32320
2006-12-07 20:04:42 +00:00
Devang Patel 2e169c37ea If pass reserves all analysis info then each info is not separately
included in PreservedSet. So check getPreservesAll() first.

llvm-svn: 32319
2006-12-07 20:03:49 +00:00
Devang Patel f9d96b934d Pass Managers themselves do not invalidate any analysis info.
llvm-svn: 32318
2006-12-07 19:57:52 +00:00
Devang Patel f3827bc21d Add a handle to the top level pass manager in PMDataManager.
llvm-svn: 32317
2006-12-07 19:54:15 +00:00
Devang Patel a1514cbdea Cosmetic markers to divide code in separate chunks.
llvm-svn: 32316
2006-12-07 19:39:39 +00:00
Devang Patel e9976aa91d s/noteDownAvailableAnalysis/recordAvailableAnalysis
While recording available analysis, include interfaces implemented.

llvm-svn: 32315
2006-12-07 19:33:53 +00:00
Devang Patel f33f3ebd14 Add PMTopLevelManager. It is not used yet.
llvm-svn: 32314
2006-12-07 19:21:29 +00:00