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