Index: llvm/lib/Target/X86/X86TargetMachine.cpp
--- llvm/lib/Target/X86/X86TargetMachine.cpp.orig
+++ llvm/lib/Target/X86/X86TargetMachine.cpp
@@ -571,6 +571,7 @@ void X86PassConfig::addPreEmitPass() {
     addPass(createX86FixupVectorConstantsLegacyPass());
   }
   addPass(createX86CompressEVEXLegacyPass());
+  addPass(createX86FixupGadgetsPass());
   addPass(createX86InsertX87waitPass());
 }
 
@@ -590,6 +591,8 @@ void X86PassConfig::addPreEmitPass2() {
   addPass(createX86SpeculativeExecutionSideEffectSuppression());
   addPass(createX86IndirectThunksPass());
   addPass(createX86ReturnThunksPass());
+
+  addPass(createX86RetCleanPass());
 
   // Insert extra int3 instructions after trailing call instructions to avoid
   // issues in the unwinder.
