X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FExecutionEngine%2FTargetSelect.cpp;fp=lib%2FExecutionEngine%2FTargetSelect.cpp;h=558d8b37af12585e89e8f90d16b2bdef86fa5906;hb=fe532ad6d6643219669056dc268d63fb29a8d1ee;hp=ca4330fa22b0443296c586334f36a1c729b2948c;hpb=97d37e818153c6c5f844ddebaab26be324dbe41c;p=oota-llvm.git diff --git a/lib/ExecutionEngine/TargetSelect.cpp b/lib/ExecutionEngine/TargetSelect.cpp index ca4330fa22b..558d8b37af1 100644 --- a/lib/ExecutionEngine/TargetSelect.cpp +++ b/lib/ExecutionEngine/TargetSelect.cpp @@ -88,6 +88,14 @@ TargetMachine *EngineBuilder::selectTarget(const Triple &TargetTriple, FeaturesStr = Features.getString(); } + // FIXME: non-iOS ARM FastISel is broken with MCJIT. + if (UseMCJIT && + TheTriple.getArch() == Triple::arm && + TheTriple.getOS() != Triple::IOS && + OptLevel == CodeGenOpt::None) { + OptLevel = CodeGenOpt::Less; + } + // Allocate a target... TargetMachine *Target = TheTarget->createTargetMachine(TheTriple.getTriple(), MCPU, FeaturesStr,