| 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.
|
|
|