Index: src/IceCfg.cpp |
diff --git a/src/IceCfg.cpp b/src/IceCfg.cpp |
index 8f6a2fffaca0ecbf8d040b895458c0b33bb69895..a113b95d47948ddd03c1bbe7bd864c2aa3642bd5 100644 |
--- a/src/IceCfg.cpp |
+++ b/src/IceCfg.cpp |
@@ -22,6 +22,7 @@ |
#include "IceELFObjectWriter.h" |
#include "IceGlobalInits.h" |
#include "IceInst.h" |
+#include "IceInstrumentation.h" |
#include "IceInstVarIter.h" |
#include "IceLiveness.h" |
#include "IceLoopAnalyzer.h" |
@@ -238,6 +239,12 @@ void Cfg::translate() { |
if (auto *Var64On32 = llvm::dyn_cast<Variable64On32>(Var)) |
Var64On32->initHiLo(this); |
+ // Instrument the Cfg, e.g. with AddressSanitizer |
+ if (!BuildDefs::minimal() && getFlags().getSanitizeAddresses()) { |
+ getContext()->instrumentFunc(this); |
+ dump("Instrumented CFG"); |
+ } |
+ |
// The set of translation passes and their order are determined by the |
// target. |
getTarget()->translate(); |