mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-18 13:34:04 +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/Tools/CommandLine.h"
|
||||||
#include "llvm/Opt/AllOpts.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 {
|
struct {
|
||||||
const string ArgName, Name;
|
const string ArgName, Name;
|
||||||
bool (*OptPtr)(Module *C);
|
bool (*OptPtr)(Module *C);
|
||||||
@ -38,6 +57,7 @@ struct {
|
|||||||
{ "-inline" ,"Method Inlining", DoMethodInlining },
|
{ "-inline" ,"Method Inlining", DoMethodInlining },
|
||||||
{ "-strip" ,"Strip Symbols", DoSymbolStripping },
|
{ "-strip" ,"Strip Symbols", DoSymbolStripping },
|
||||||
{ "-mstrip" ,"Strip Module Symbols", DoFullSymbolStripping },
|
{ "-mstrip" ,"Strip Module Symbols", DoFullSymbolStripping },
|
||||||
|
{ "-print" ,"Test printing stuff", DoPrint },
|
||||||
};
|
};
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user