00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef wgen_tracing_INCLUDED
00025 #define wgen_tracing_INCLUDED
00026
00027 #include "gspin-tree.h"
00028 #include "opcode.h"
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 #define TRACE_EXPAND_GS(n) WGEN_TRACE __tmp_wgen_tr(n)
00041
00042
00043
00044 #define WN_CreateStid(args...) WGEN_Trace_wn(WN_CreateStid(args))
00045 #define WN_CreateBlock(args...) WGEN_Trace_wn(WN_CreateBlock(args))
00046 #define WN_CreateDO(args...) WGEN_Trace_wn(WN_CreateDO(args))
00047 #define WN_CreateDoWhile(args...) WGEN_Trace_wn(WN_CreateDoWhile(args))
00048 #define WN_CreateWhileDo(args...) WGEN_Trace_wn(WN_CreateWhileDo(args))
00049 #define WN_CreateIf(args...) WGEN_Trace_wn(WN_CreateIf(args))
00050 #define WN_CreateEntry(args...) WGEN_Trace_wn(WN_CreateEntry (args))
00051 #define WN_CreateRegion(args...) WGEN_Trace_wn(WN_CreateRegion(args))
00052 #define WN_CreateRegionExit(args...) WGEN_Trace_wn(WN_CreateRegionExit (args))
00053 #define WN_CreateGoto(args...) WGEN_Trace_wn(WN_CreateGoto(args))
00054 #define WN_CreateGotoOuterBlock(args...) WGEN_Trace_wn(WN_CreateGotoOuterBlock (args))
00055 #define WN_CreateAgoto(args...) WGEN_Trace_wn(WN_CreateAgoto(args))
00056 #define WN_CreateAltentry(args...) WGEN_Trace_wn(WN_CreateAltentry(args))
00057 #define WN_CreateTruebr(args...) WGEN_Trace_wn(WN_CreateTruebr(args))
00058 #define WN_CreateFalsebr(args...) WGEN_Trace_wn(WN_CreateFalsebr(args))
00059 #define WN_CreateReturn(args...) WGEN_Trace_wn(WN_CreateReturn(args))
00060 #define WN_CreateReturn_Val(args...) WGEN_Trace_wn(WN_CreateReturn_Val (args))
00061 #define WN_CreateLabel(args...) WGEN_Trace_wn(WN_CreateLabel(args))
00062 #define WN_CreateCompgoto(args...) WGEN_Trace_wn(WN_CreateCompgoto(args))
00063 #define WN_CreateSwitch(args...) WGEN_Trace_wn(WN_CreateSwitch(args))
00064 #define WN_CreateCasegoto(args...) WGEN_Trace_wn(WN_CreateCasegoto(args))
00065 #define WN_CreateXgoto(args...) WGEN_Trace_wn(WN_CreateXgoto (args))
00066 #define WN_CreateIstore(args...) WGEN_Trace_wn(WN_CreateIstore(args))
00067 #define WN_CreateIstorex(args...) WGEN_Trace_wn(WN_CreateIstorex(args))
00068 #define WN_CreateMstore(args...) WGEN_Trace_wn(WN_CreateMstore(args))
00069 #define WN_CreateStid(args...) WGEN_Trace_wn(WN_CreateStid(args))
00070 #define WN_CreatePrefetch(args...) WGEN_Trace_wn(WN_CreatePrefetch(args))
00071 #define WN_CreatePrefetchx(args...) WGEN_Trace_wn(WN_CreatePrefetchx(args))
00072 #define WN_CreateIo(args...) WGEN_Trace_wn(WN_CreateIo(args))
00073 #define WN_CreateIoItem0(args...) WGEN_Trace_wn(WN_CreateIoItem0(args))
00074 #define WN_CreateIoItem1(args...) WGEN_Trace_wn(WN_CreateIoItem1(args))
00075 #define WN_CreateIoItem2(args...) WGEN_Trace_wn(WN_CreateIoItem2(args))
00076 #define WN_CreateIoItem3(args...) WGEN_Trace_wn(WN_CreateIoItem3(args))
00077 #define WN_CreateIoItemN(args...) WGEN_Trace_wn(WN_CreateIoItemN(args))
00078 #define WN_CreateEval(args...) WGEN_Trace_wn(WN_CreateEval(args))
00079 #define WN_CreatePragma(args...) WGEN_Trace_wn(WN_CreatePragma(args))
00080 #define WN_CreatePragma(args...) WGEN_Trace_wn(WN_CreatePragma(args))
00081 #define WN_CreateXpragma(args...) WGEN_Trace_wn(WN_CreateXpragma(args))
00082 #define WN_CreateExp0(args...) WGEN_Trace_wn(WN_CreateExp0(args))
00083 #define WN_CreateExp1(args...) WGEN_Trace_wn(WN_CreateExp1(args))
00084 #define WN_CreateExp2(args...) WGEN_Trace_wn(WN_CreateExp2(args))
00085 #define WN_CreateExp3(args...) WGEN_Trace_wn(WN_CreateExp3(args))
00086 #define WN_CreateIload(args...) WGEN_Trace_wn(WN_CreateIload(args))
00087 #define WN_CreateIloadx(args...) WGEN_Trace_wn(WN_CreateIloadx(args))
00088 #define WN_CreateMload(args...) WGEN_Trace_wn(WN_CreateMload(args))
00089 #define WN_CreateLdid(args...) WGEN_Trace_wn(WN_CreateLdid(args))
00090 #define WN_CreateLda(args...) WGEN_Trace_wn(WN_CreateLda(args))
00091 #define WN_CreateIlda(args...) WGEN_Trace_wn(WN_CreateIlda(args))
00092 #define WN_CreateLdaLabel(args...) WGEN_Trace_wn(WN_CreateLdaLabel(args))
00093 #define WN_CreateIdname(args...) WGEN_Trace_wn(WN_CreateIdname(args))
00094 #define WN_CreateConst(args...) WGEN_Trace_wn(WN_CreateConst (args))
00095 #define WN_CreateIntconst(args...) WGEN_Trace_wn(WN_CreateIntconst(args))
00096 #define WN_CreateCvtl(args...) WGEN_Trace_wn(WN_CreateCvtl(args))
00097 #define WN_Create_Intrinsic(args...) WGEN_Trace_wn(WN_Create_Intrinsic(args))
00098 #define WN_CreateParm(args...) WGEN_Trace_wn(WN_CreateParm(args))
00099 #define WN_CreateComma(args...) WGEN_Trace_wn(WN_CreateComma(args))
00100 #define WN_CreateRcomma(args...) WGEN_Trace_wn(WN_CreateRcomma(args))
00101 #define WN_CreateComment(args...) WGEN_Trace_wn(WN_CreateComment (args))
00102 #define WN_CreateAsm_Stmt(args...) WGEN_Trace_wn(WN_CreateAsm_Stmt (args))
00103 #define WN_CreateAsm_Input(args...) WGEN_Trace_wn(WN_CreateAsm_Input (args))
00104 #define WN_CreateLoopInfo(args...) WGEN_Trace_wn(WN_CreateLoopInfo (args))
00105 #define WN_CreateExcScopeBegin(args...) WGEN_Trace_wn(WN_CreateExcScopeBegin(args))
00106 #define WN_CreateExcScopeEnd(args...) WGEN_Trace_wn(WN_CreateExcScopeEnd(args))
00107 #define WN_CreateBarrier(args...) WGEN_Trace_wn(WN_CreateBarrier (args))
00108 #define WN_CreateTrap(args...) WGEN_Trace_wn(WN_CreateTrap (args))
00109 #define WN_CreateAssert(args...) WGEN_Trace_wn(WN_CreateAssert (args))
00110
00111 WN* WGEN_Trace_wn(WN *);
00112
00113 class WGEN_TRACE
00114 {
00115 public:
00116 static int gimple_depth;
00117 WGEN_TRACE(gs_t n) {
00118 trace_gs(n);
00119 gimple_depth++;
00120 }
00121 ~WGEN_TRACE() {
00122 gimple_depth--;
00123 }
00124 void trace_gs(gs_t n);
00125 };
00126
00127 #endif