diff --git a/llvm/utils/gn/build/toolchain/BUILD.gn b/llvm/utils/gn/build/toolchain/BUILD.gn --- a/llvm/utils/gn/build/toolchain/BUILD.gn +++ b/llvm/utils/gn/build/toolchain/BUILD.gn @@ -373,3 +373,17 @@ "//:lld($host_toolchain)", ] } + +win_toolchain("stage2_win_x86") { + toolchain_args = { + current_os = host_os + current_cpu = "x86" + + clang_base_path = root_build_dir + use_goma = false + } + deps = [ + "//:clang($host_toolchain)", + "//:lld($host_toolchain)", + ] +} diff --git a/llvm/utils/gn/secondary/compiler-rt/BUILD.gn b/llvm/utils/gn/secondary/compiler-rt/BUILD.gn --- a/llvm/utils/gn/secondary/compiler-rt/BUILD.gn +++ b/llvm/utils/gn/secondary/compiler-rt/BUILD.gn @@ -7,6 +7,7 @@ # toolchains and then lipo them together for the final output. if (current_os == "win") { supported_toolchains = [ "//llvm/utils/gn/build/toolchain:stage2_win" ] + supported_toolchains += [ "//llvm/utils/gn/build/toolchain:stage2_win_x86" ] } else { supported_toolchains = [ "//llvm/utils/gn/build/toolchain:stage2_unix" ] } diff --git a/llvm/utils/gn/secondary/llvm/triples.gni b/llvm/utils/gn/secondary/llvm/triples.gni --- a/llvm/utils/gn/secondary/llvm/triples.gni +++ b/llvm/utils/gn/secondary/llvm/triples.gni @@ -1,6 +1,8 @@ if (current_cpu == "x86") { if (current_os == "linux") { llvm_current_triple = "i386-unknown-linux-gnu" + } else if (current_os == "win") { + llvm_current_triple = "i386-pc-windows-msvc" } } else if (current_cpu == "x64") { if (current_os == "freebsd") {