diff --git a/BUILD.gn b/BUILD.gn
index 7d2a6f5..8ff1631 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -92,14 +92,14 @@
       ]
     }
 
-    if (target_cpu == "x64") {  # 64 bit version
+    if (current_cpu == "x64") {  # 64 bit version
       cflags += [
         "-m64",
         "-fPIC",
         "-march=x86-64",
         "-mtune=generic",
       ]
-    } else if (target_cpu == "x86") {  # 32 bit version
+    } else if (current_cpu == "x86") {  # 32 bit version
       cflags += [
         "-m32",
         "-msse2",
@@ -137,7 +137,7 @@
     if (is_linux) {
       ldflags = [ "-Wl,--gc-sections" ]
 
-      if (target_cpu == "mipsel") {
+      if (current_cpu == "mipsel") {
         ldflags += [
           "-Wl,--hash-style=sysv",
         ]
@@ -150,7 +150,7 @@
             "-mips32r2",
           ]
         }
-      } else if (target_cpu == "mips64el") {
+      } else if (current_cpu == "mips64el") {
         ldflags += [
           "-Wl,--hash-style=sysv",
           "-mips64r2",
@@ -160,7 +160,7 @@
       }
 
       # A bug in the gold linker prevents using ICF on 32-bit (crbug.com/729532)
-      if (use_gold && (target_cpu == "x86" || target_cpu == "mipsel")) {
+      if (use_gold && (current_cpu == "x86" || current_cpu == "mipsel")) {
         ldflags += [ "-Wl,--icf=none" ]
       }
     }
diff --git a/src/Common/BUILD.gn b/src/Common/BUILD.gn
index 87b7005..8cda8a1 100644
--- a/src/Common/BUILD.gn
+++ b/src/Common/BUILD.gn
@@ -21,7 +21,7 @@
       "/wd4201",  # nameless struct/union
       "/wd5030",  # attribute is not recognized
     ]
-  } else if (target_cpu == "x86" || target_cpu == "x64") {
+  } else if (current_cpu == "x86" || current_cpu == "x64") {
     cflags = [ "-msse2" ]
   }
 }
diff --git a/src/Main/BUILD.gn b/src/Main/BUILD.gn
index 61054d4..5e50ee8 100644
--- a/src/Main/BUILD.gn
+++ b/src/Main/BUILD.gn
@@ -29,7 +29,7 @@
         "-Wno-sign-compare",
       ]
     }
-  } else if (target_cpu == "x86" || target_cpu == "x64") {
+  } else if (current_cpu == "x86" || current_cpu == "x64") {
     cflags = [ "-msse2" ]
     defines =
         [ "NO_SANITIZE_FUNCTION=__attribute__((no_sanitize(\"function\")))" ]
diff --git a/src/Reactor/BUILD.gn b/src/Reactor/BUILD.gn
index 4d51c08..66b4bf1 100644
--- a/src/Reactor/BUILD.gn
+++ b/src/Reactor/BUILD.gn
@@ -18,7 +18,7 @@
   # Subzero produces smaller binaries, but doesn't support ARM64, MIPS64, and
   # PPC64.
   use_swiftshader_with_subzero =
-      target_cpu != "arm64" && target_cpu != "mips64el" && target_cpu != "ppc64"
+      current_cpu != "arm64" && current_cpu != "mips64el" && current_cpu != "ppc64"
   supports_llvm = is_linux || is_fuchsia || is_win || is_android || is_mac
 }
 
@@ -38,7 +38,7 @@
       "__STDC_LIMIT_MACROS",
     ]
 
-    if (target_cpu == "x86" || target_cpu == "x64") {
+    if (current_cpu == "x86" || current_cpu == "x64") {
       cflags += [ "-msse2" ]
     }
   }
@@ -71,22 +71,22 @@
       defines += [ "SUBZERO_USE_MICROSOFT_ABI" ]
     }
 
-    if (target_cpu == "x64") {
+    if (current_cpu == "x64") {
       defines += [
         "SZTARGET=X8664",
         "SUBZERO_TARGET=X8664",
       ]
-    } else if (target_cpu == "x86") {
+    } else if (current_cpu == "x86") {
       defines += [
         "SZTARGET=X8632",
         "SUBZERO_TARGET=X8632",
       ]
-    } else if (target_cpu == "mipsel") {
+    } else if (current_cpu == "mipsel") {
       defines += [
         "SZTARGET=MIPS32",
         "SUBZERO_TARGET=MIPS32",
       ]
-    } else if (target_cpu == "arm") {
+    } else if (current_cpu == "arm") {
       defines += [
         "SZTARGET=ARM32",
         "SUBZERO_TARGET=ARM32",
@@ -272,23 +272,23 @@
       "$subzero_llvm_dir/lib/Support/regstrlcpy.c",
     ]
 
-    if (target_cpu == "x64") {
+    if (current_cpu == "x64") {
       sources += [
         "$subzero_dir/src/IceInstX8664.cpp",
         "$subzero_dir/src/IceTargetLoweringX8664.cpp",
       ]
-    } else if (target_cpu == "x86") {
+    } else if (current_cpu == "x86") {
       sources += [
         "$subzero_dir/src/IceInstX8632.cpp",
         "$subzero_dir/src/IceTargetLoweringX8632.cpp",
       ]
-    } else if (target_cpu == "mipsel") {
+    } else if (current_cpu == "mipsel") {
       sources += [
         "$subzero_dir/src/IceAssemblerMIPS32.cpp",
         "$subzero_dir/src/IceInstMIPS32.cpp",
         "$subzero_dir/src/IceTargetLoweringMIPS32.cpp",
       ]
-    } else if (target_cpu == "arm") {
+    } else if (current_cpu == "arm") {
       sources += [
         "$subzero_dir/src/IceAssemblerARM32.cpp",
         "$subzero_dir/src/IceInstARM32.cpp",
diff --git a/src/Renderer/BUILD.gn b/src/Renderer/BUILD.gn
index 6b95b11..364a1a1 100644
--- a/src/Renderer/BUILD.gn
+++ b/src/Renderer/BUILD.gn
@@ -22,7 +22,7 @@
       "/wd4324",  # structure was padded due to alignment specifier
       "/wd5030",  # attribute is not recognized
     ]
-  } else if (target_cpu == "x86" || target_cpu == "x64") {
+  } else if (current_cpu == "x86" || current_cpu == "x64") {
     cflags = [
       "-msse2",
       "-Wno-sign-compare",
diff --git a/third_party/llvm-7.0/BUILD.gn b/third_party/llvm-7.0/BUILD.gn
index 08ec2b0..baa6578 100644
--- a/third_party/llvm-7.0/BUILD.gn
+++ b/third_party/llvm-7.0/BUILD.gn
@@ -69,7 +69,7 @@
       "-Wno-unused-result",
       "-Wno-unused-variable",
     ]
-    if (target_cpu == "x86" || target_cpu == "x64") {
+    if (current_cpu == "x86" || current_cpu == "x64") {
       cflags += [ "-msse2" ]
     }
   }
@@ -325,25 +325,25 @@
     ":swiftshader_llvm_transforms",
   ]
 
-  if (target_cpu == "x86" || target_cpu == "x64") {
+  if (current_cpu == "x86" || current_cpu == "x64") {
     deps += [":swiftshader_llvm_x86"]
-  } else if (target_cpu == "arm") {
+  } else if (current_cpu == "arm") {
     deps += [":swiftshader_llvm_arm"]
-  } else if (target_cpu == "arm64") {
+  } else if (current_cpu == "arm64") {
     deps += [":swiftshader_llvm_aarch64"]
-  } else if (target_cpu == "mipsel" || target_cpu == "mips64el") {
+  } else if (current_cpu == "mipsel" || current_cpu == "mips64el") {
     deps += [":swiftshader_llvm_mips"]
-  } else if (target_cpu == "ppc64") {
+  } else if (current_cpu == "ppc64") {
     deps += [":swiftshader_llvm_ppc"]
   } else {
-    assert(false, "Unsupported target_cpu")
+    assert(false, "Unsupported current_cpu")
   }
 
-  if (target_cpu != current_cpu &&
+  if (current_cpu != current_cpu &&
       (current_cpu == "x86" || current_cpu == "x64") ||
       # Windows ARM64 does cross compilation on Windows x64 host, and requires native
       # x86 target.
-      (is_win && target_cpu == "arm64")) {
+      (is_win && current_cpu == "arm64")) {
     deps += [ ":swiftshader_llvm_x86" ]
   }
 }
