diff --git a/llvm/test/tools/llvm-reduce/mir/set-triple-on-module.mir b/llvm/test/tools/llvm-reduce/mir/set-triple-on-module.mir new file mode 100644 index 000000000000..1f1e6b145bd3 --- /dev/null +++ b/llvm/test/tools/llvm-reduce/mir/set-triple-on-module.mir @@ -0,0 +1,16 @@ +# REQUIRES: x86-registered-target + +# RUN: llvm-reduce -simplify-mir -mtriple="x86_64-unknown-linux-gnu" --test FileCheck --test-arg --check-prefix=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t +# RUN: FileCheck %s < %t + +# CHECK-INTERESTINGNESS: RET64 + +# CHECK: target triple = "x86_64-unknown-linux-gnu" +# CHECK: name: func + +--- +name: func +body: | + bb.0: + RET64 +... diff --git a/llvm/tools/llvm-reduce/ReducerWorkItem.cpp b/llvm/tools/llvm-reduce/ReducerWorkItem.cpp index c479233a712e..b7e8118ea73a 100644 --- a/llvm/tools/llvm-reduce/ReducerWorkItem.cpp +++ b/llvm/tools/llvm-reduce/ReducerWorkItem.cpp @@ -859,6 +859,9 @@ llvm::parseReducerWorkItem(StringRef ToolName, StringRef Filename, std::unique_ptr M = MParser->parseIRModule(SetDataLayout); + if (!TheTriple.empty()) + M->setTargetTriple(TheTriple); + MMM->MMI = std::make_unique(TM.get()); MParser->parseMachineFunctions(*M, *MMM->MMI); MMM->M = std::move(M);