Add -fobjc-trace to emit a call before and after each Objective-C message send

for hooking in code flow visualisation applications.  

llvm-svn: 154321
This commit is contained in:
David Chisnall
2012-04-09 15:42:15 +00:00
parent 2eec367227
commit 4ec2af2fab
7 changed files with 42 additions and 0 deletions

View File

@@ -249,6 +249,8 @@ static void CodeGenOptsToArgs(const CodeGenOptions &Opts, ToArgsList &Res) {
Res.push_back("-mconstructor-aliases");
if (Opts.ObjCAutoRefCountExceptions)
Res.push_back("-fobjc-arc-eh");
if (Opts.ObjCTrace)
Res.push_back("-fobjc-trace");
if (!Opts.DebugPass.empty()) {
Res.push_back("-mdebug-pass", Opts.DebugPass);
}
@@ -1109,6 +1111,7 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK,
Opts.AsmVerbose = Args.hasArg(OPT_masm_verbose);
Opts.ObjCAutoRefCountExceptions = Args.hasArg(OPT_fobjc_arc_exceptions);
Opts.ObjCTrace = Args.hasArg(OPT_fobjc_trace);
Opts.ObjCRuntimeHasARC = Args.hasArg(OPT_fobjc_runtime_has_arc);
Opts.ObjCRuntimeHasTerminate = Args.hasArg(OPT_fobjc_runtime_has_terminate);
Opts.CUDAIsDevice = Args.hasArg(OPT_fcuda_is_device);