Index: include/clang/Driver/Options.td
===================================================================
--- include/clang/Driver/Options.td	(revision 162120)
+++ include/clang/Driver/Options.td	(working copy)
@@ -864,6 +864,10 @@
 def mxop : Flag<"-mxop">, Group<m_x86_Features_Group>;
 def mips16 : Flag<"-mips16">, Group<m_Group>;
 def mno_mips16 : Flag<"-mno-mips16">, Group<m_Group>;
+def mmips_ssection_threshold_EQ : Joined<"-mmips-ssection-threshold=">,
+  Group<m_Group>, Flags<[NoForward]>;
+def menable_mips_delay_filler : Flag<"-menable-mips-delay-filler">,
+  Group<m_Group>, Flags<[NoForward]>;
 def mdsp : Flag<"-mdsp">, Group<m_Group>;
 def mno_dsp : Flag<"-mno-dsp">, Group<m_Group>;
 def mdspr2 : Flag<"-mdspr2">, Group<m_Group>;
Index: lib/Driver/Tools.cpp
===================================================================
--- lib/Driver/Tools.cpp	(revision 162120)
+++ lib/Driver/Tools.cpp	(working copy)
@@ -941,6 +941,18 @@
   AddTargetFeature(Args, CmdArgs,
                    options::OPT_mdspr2, options::OPT_mno_dspr2,
                    "dspr2");
+
+  // pass through some important options
+  if (Args.getLastArg(options::OPT_menable_mips_delay_filler)) {
+    CmdArgs.push_back("-mllvm");
+    CmdArgs.push_back("-enable-mips-delay-filler");
+  }
+
+  if (Arg *A = Args.getLastArg(options::OPT_mmips_ssection_threshold_EQ)) {
+    StringRef v = A->getValue(Args);
+    CmdArgs.push_back("-mllvm");
+    CmdArgs.push_back(Args.MakeArgString("-mips-ssection-threshold=" + v));
+  }
 }
 
 /// getPPCTargetCPU - Get the (LLVM) name of the PowerPC cpu we are targeting.
