Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(500)

Unified Diff: lib/Target/ARM/ARMTargetMachine.cpp

Issue 14607004: Insert denominator zero checks for NaCl (Closed) Base URL: http://git.chromium.org/native_client/pnacl-llvm.git@master
Patch Set: Add more complex control flow test. Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/llvm/Transforms/NaCl.h ('k') | lib/Transforms/NaCl/CMakeLists.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/Target/ARM/ARMTargetMachine.cpp
diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp
index c02e981e54c964187a152957537b587c99b6e4d6..499f974b96c84f6d7d4adbb672ee22b5e60100b8 100644
--- a/lib/Target/ARM/ARMTargetMachine.cpp
+++ b/lib/Target/ARM/ARMTargetMachine.cpp
@@ -20,6 +20,9 @@
#include "llvm/Support/FormattedStream.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Target/TargetOptions.h"
+// @LOCALMOD-START
+#include "llvm/Transforms/NaCl.h"
+// @LOCALMOD-END
#include "llvm/Transforms/Scalar.h"
using namespace llvm;
@@ -141,6 +144,9 @@ public:
virtual bool addPreRegAlloc();
virtual bool addPreSched2();
virtual bool addPreEmitPass();
+// @LOCALMOD-START
+ virtual void addIRPasses();
+// @LOCALMOD-END
};
} // namespace
@@ -229,6 +235,15 @@ bool ARMPassConfig::addPreEmitPass() {
return true;
}
+// @LOCALMOD-START
+void ARMPassConfig::addIRPasses() {
+ if (getARMSubtarget().isTargetNaCl()) {
+ addPass(createInsertDivideCheckPass());
+ }
+ TargetPassConfig::addIRPasses();
+}
+// @LOCALMOD-END
+
bool ARMBaseTargetMachine::addCodeEmitter(PassManagerBase &PM,
JITCodeEmitter &JCE) {
// Machine code emitter pass for ARM.
« no previous file with comments | « include/llvm/Transforms/NaCl.h ('k') | lib/Transforms/NaCl/CMakeLists.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698