diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td
index ab42aaf..c37d2d8 100644
--- a/include/clang/Driver/Options.td
+++ b/include/clang/Driver/Options.td
@@ -1121,13 +1121,6 @@
 def mgeneral_regs_only : Flag<["-"], "mgeneral-regs-only">, Group<m_aarch64_Features_Group>,
   HelpText<"Generate code which only uses the general purpose registers (AArch64 only)">;
 
-def mfix_cortex_a53_835769 : Flag<["-"], "mfix-cortex-a53-835769">,
-  Group<m_aarch64_Features_Group>,
-  HelpText<"Workaround Cortex-A53 erratum 835769 (AArch64 only)">;
-def mno_fix_cortex_a53_835769 : Flag<["-"], "mno-fix-cortex-a53-835769">,
-  Group<m_aarch64_Features_Group>,
-  HelpText<"Don't workaround Cortex-A53 erratum 835769 (AArch64 only)">;
-
 def mvsx : Flag<["-"], "mvsx">, Group<m_ppc_Features_Group>;
 def mno_vsx : Flag<["-"], "mno-vsx">, Group<m_ppc_Features_Group>;
 def mfprnd : Flag<["-"], "mfprnd">, Group<m_ppc_Features_Group>;
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index 37fef56..e3532aa 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -898,19 +898,6 @@
     CmdArgs.push_back("-aarch64-strict-align");
   }
 
-  if (Arg *A = Args.getLastArg(options::OPT_mfix_cortex_a53_835769,
-                               options::OPT_mno_fix_cortex_a53_835769)) {
-    CmdArgs.push_back("-backend-option");
-    if (A->getOption().matches(options::OPT_mfix_cortex_a53_835769))
-      CmdArgs.push_back("-aarch64-fix-cortex-a53-835769=1");
-    else
-      CmdArgs.push_back("-aarch64-fix-cortex-a53-835769=0");
-  } else if (Triple.getEnvironment() == llvm::Triple::Android) {
-    // Enabled A53 errata (835769) workaround by default on android
-    CmdArgs.push_back("-backend-option");
-    CmdArgs.push_back("-aarch64-fix-cortex-a53-835769=1");
-  }
-
   // Setting -mno-global-merge disables the codegen global merge pass. Setting
   // -mglobal-merge has no effect as the pass is enabled by default.
   if (Arg *A = Args.getLastArg(options::OPT_mglobal_merge,
diff --git a/test/CodeGen/aarch64-fix-cortex-a53-835769.c b/test/CodeGen/aarch64-fix-cortex-a53-835769.c
deleted file mode 100644
index 7ad1240..0000000
--- a/test/CodeGen/aarch64-fix-cortex-a53-835769.c
+++ /dev/null
@@ -1,27 +0,0 @@
-// REQUIRES: aarch64-registered-target
-
-// RUN: %clang -O3 -target aarch64-linux-eabi %s -S -o- \
-// RUN:   | FileCheck --check-prefix=CHECK-NO --check-prefix=CHECK %s
-// RUN: %clang -O3 -target aarch64-linux-eabi -mfix-cortex-a53-835769 %s -S -o- 2>&1 \
-// RUN:   | FileCheck --check-prefix=CHECK-YES --check-prefix=CHECK %s
-// RUN: %clang -O3 -target aarch64-linux-eabi -mno-fix-cortex-a53-835769 %s -S -o- 2>&1 \
-// RUN:   | FileCheck --check-prefix=CHECK-NO --check-prefix=CHECK %s
-
-// RUN: %clang -O3 -target aarch64-android-eabi %s -S -o- \
-// RUN:   | FileCheck --check-prefix=CHECK-YES --check-prefix=CHECK %s
-// RUN: %clang -O3 -target aarch64-android-eabi -mfix-cortex-a53-835769 %s -S -o- \
-// RUN:   | FileCheck --check-prefix=CHECK-YES --check-prefix=CHECK %s
-// RUN: %clang -O3 -target aarch64-android-eabi -mno-fix-cortex-a53-835769 %s -S -o- \
-// RUN:   | FileCheck --check-prefix=CHECK-NO --check-prefix=CHECK %s
-
-typedef long int64_t;
-
-int64_t f_load_madd_64(int64_t a, int64_t b, int64_t *c) {
-    int64_t result = a+b*(*c);
-    return result;
-}
-
-// CHECK: ldr
-// CHECK-YES-NEXT: nop
-// CHECK-NO-NEXT-NOT: nop
-// CHECK-NEXT: madd
diff --git a/test/Driver/aarch64-fix-cortex-a53-835769.c b/test/Driver/aarch64-fix-cortex-a53-835769.c
deleted file mode 100644
index 3fe918a..0000000
--- a/test/Driver/aarch64-fix-cortex-a53-835769.c
+++ /dev/null
@@ -1,13 +0,0 @@
-// RUN: %clang -target aarch64-linux-eabi %s -### 2>&1 \
-// RUN:   | FileCheck --check-prefix=CHECK-DEF %s
-// RUN: %clang -target aarch64-linux-eabi -mfix-cortex-a53-835769 %s -### 2>&1 \
-// RUN:   | FileCheck --check-prefix=CHECK-YES %s
-// RUN: %clang -target aarch64-linux-eabi -mno-fix-cortex-a53-835769 %s -### 2>&1 \
-// RUN:   | FileCheck --check-prefix=CHECK-NO %s
-
-// RUN: %clang -target aarch64-android-eabi %s -### 2>&1 \
-// RUN:   | FileCheck --check-prefix=CHECK-YES %s
-
-// CHECK-DEF-NOT: "-backend-option" "-aarch64-fix-cortex-a53-835769"
-// CHECK-YES: "-backend-option" "-aarch64-fix-cortex-a53-835769=1"
-// CHECK-NO: "-backend-option" "-aarch64-fix-cortex-a53-835769=0"
