<div dir="ltr">Committed a test case in r192135.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Oct 7, 2013 at 12:51 PM, Rafael Espíndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">testcase?<br>
<div class="HOEnZb"><div class="h5"><br>
On 7 October 2013 15:13, Akira Hatanaka <<a href="mailto:ahatanaka@mips.com">ahatanaka@mips.com</a>> wrote:<br>
> Author: ahatanak<br>
> Date: Mon Oct  7 14:13:53 2013<br>
> New Revision: 192124<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=192124&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=192124&view=rev</a><br>
> Log:<br>
> [mips] Disable tail merging when long branch pass is enabled.<br>
><br>
> Modified:<br>
>     llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp<br>
><br>
> Modified: llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp?rev=192124&r1=192123&r2=192124&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp?rev=192124&r1=192123&r2=192124&view=diff</a><br>

> ==============================================================================<br>
> --- llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp (original)<br>
> +++ llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp Mon Oct  7 14:13:53 2013<br>
> @@ -135,7 +135,13 @@ namespace {<br>
>  class MipsPassConfig : public TargetPassConfig {<br>
>  public:<br>
>    MipsPassConfig(MipsTargetMachine *TM, PassManagerBase &PM)<br>
> -    : TargetPassConfig(TM, PM) {}<br>
> +    : TargetPassConfig(TM, PM) {<br>
> +    // The current implementation of long branch pass requires a scratch<br>
> +    // register ($at) to be available before branch instructions. Tail merging<br>
> +    // can break this requirement, so disable it when long branch pass is<br>
> +    // enabled.<br>
> +    EnableTailMerge = !getMipsSubtarget().enableLongBranchPass();<br>
> +  }<br>
><br>
>    MipsTargetMachine &getMipsTargetMachine() const {<br>
>      return getTM<MipsTargetMachine>();<br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br></div>