mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-22 07:32:48 +00:00
Added a stupid testcase for iterators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d842e77ca9
commit
84608e43b2
@ -29,6 +29,25 @@
|
||||
#include "llvm/Tools/CommandLine.h"
|
||||
#include "llvm/Opt/AllOpts.h"
|
||||
|
||||
#if 1 // Testcase, TODO: REMOVE
|
||||
#include "llvm/CFG.h"
|
||||
#include "llvm/Assembly/Writer.h"
|
||||
#include "llvm/Method.h"
|
||||
static bool DoPrintM(Method *M) {
|
||||
df_iterator I = df_begin(M->getBasicBlocks().front(), false);
|
||||
df_iterator E = df_end(M->getBasicBlocks().front());
|
||||
unsigned i = 0;
|
||||
for (; I != E; ++I, ++i) {
|
||||
cerr << "Basic Block Visited #" << i << *I;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool DoPrint(Module *C) {
|
||||
return ApplyOptToAllMethods(C, DoPrintM);
|
||||
}
|
||||
#endif
|
||||
|
||||
struct {
|
||||
const string ArgName, Name;
|
||||
bool (*OptPtr)(Module *C);
|
||||
@ -38,6 +57,7 @@ struct {
|
||||
{ "-inline" ,"Method Inlining", DoMethodInlining },
|
||||
{ "-strip" ,"Strip Symbols", DoSymbolStripping },
|
||||
{ "-mstrip" ,"Strip Module Symbols", DoFullSymbolStripping },
|
||||
{ "-print" ,"Test printing stuff", DoPrint },
|
||||
};
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
Loading…
Reference in New Issue
Block a user