[llvm] r194019 - Submit the basic port of the rest of ARM constant islands code to Mips.

reed kotler rkotler at mips.com
Mon Nov 4 14:54:51 PST 2013


On 11/04/2013 02:49 PM, Eric Christopher wrote:
>
>
>
> On Mon, Nov 4, 2013 at 2:48 PM, reed kotler <rkotler at mips.com 
> <mailto:rkotler at mips.com>> wrote:
>
>     I will take care of this right. I was already in the process of
>     doing as you suggest.
>     Some code I wanted as a record in the source control so I can see
>     where I need to fix things.
>
>
> This isn't the right way to do it, I'm sorry. You can use local 
> version control if you want to keep in progress patches.
>
> -eric
>
Okay. Understood. I'm making the changes you suggested.

>     Reed
>
>
>     On 11/04/2013 02:33 PM, Eric Christopher wrote:
>>
>>
>>         +  STI(&TM.getSubtarget<MipsSubtarget>()), MF(0), MCP(0),
>>         PrescannedForConstants(false){}
>>
>>
>>     80-col.
>>
>>
>>         +#ifdef IN_PROGRESS
>>
>>
>>     No. Please remove this sort of code.
>>
>>
>>         +#ifdef IN_PROGRESS
>>         +        case ARM::t2BR_JT:
>>
>>
>>     Especially not when you've just copied code out of the ARM port.
>>
>>         +
>>         +      }
>>         +
>>         +
>>         +      if (Opc == Mips::CONSTPOOL_ENTRY)
>>         +        continue;
>>         +
>>         +
>>
>>
>>     I'm a fan of vertical whitespace, but this is a bit much.
>>
>>
>>         +#ifdef IN_PROGRESS
>>         +          // Taking the address of a CP entry.
>>         +          case ARM::LEApcrel:
>>
>>
>>     Again.
>>
>>         +
>>         +  // On Thumb, offsets==2 mod 4 are rounded down by the
>>         hardware for
>>         +  // purposes of the displacement computation; compensate
>>         for that here.
>>         +  // For unknown alignments, getMaxDisp() constrains the
>>         range instead.
>>         +#ifdef IN_PROGRESS
>>         +  if (isThumb && U.KnownAlignment)
>>         +    UserOffset &= ~3u;
>>         +#endif
>>
>>
>>     Again. There are many more cases in the rest of the code.
>>
>>         +/// isCPEntryInRange - Returns true if the distance between
>>         specific MI and
>>         +/// specific ConstPool entry instruction can fit in MI's
>>         displacement field.
>>         +bool MipsConstantIslands::isCPEntryInRange(MachineInstr *MI,
>>         unsigned UserOffset,
>>         +  MachineInstr *CPEMI, unsigned MaxDisp,
>>         +  bool NegOk, bool DoDump) {
>>
>>
>>     Why a DoDump variable?
>>
>>         +  // Avoid splitting an IT block.
>>
>>
>>     You have IT blocks? This is why we don't just copy code.
>>
>>     Again, please remove all of the non-mips code out of this
>>     immediately.
>>
>>     -eric
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131104/24dfbcd6/attachment.html>


More information about the llvm-commits mailing list