<div dir="ltr">BTW I do agree that it's completely unreasonable how long it's taken me on this. I do truly apologize, it was only when looking at the recent patch dealing with ABIInfo that you approved that I realized what you're trying to deal with in this and how it's interacting with everything else. It's absolutely needed so let's discuss and move this forward.<div><br></div><div>-eric</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Sep 15, 2015 at 9:12 AM Eric Christopher <<a href="mailto:echristo@gmail.com">echristo@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I've replied in a different thread with what I see is the design that needs to happen here.</div><div dir="ltr"><div><br></div><div>-eric</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Sep 15, 2015 at 9:07 AM Daniel Sanders <<a href="mailto:Daniel.Sanders@imgtec.com" target="_blank">Daniel.Sanders@imgtec.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div>
<div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt">Sorry, I accidentally hit Ctrl+Enter. My next email will contain a reply :-)<br>
<div style="font-family:Times New Roman;color:#000000;font-size:16px">
<hr>
<div style="direction:ltr"><font color="#000000" face="Tahoma" size="2"><b>From:</b> Daniel Sanders<br>
<b>Sent:</b> 15 September 2015 17:05<br>
<b>To:</b> Eric Christopher; <a href="mailto:reviews%2BD10969%2Bpublic%2B5f3f4828b5695b54@reviews.llvm.org" target="_blank">reviews+D10969+public+5f3f4828b5695b54@reviews.llvm.org</a>; <a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a></font></div></div></div></div><div><div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt"><div style="font-family:Times New Roman;color:#000000;font-size:16px"><div style="direction:ltr"><font color="#000000" face="Tahoma" size="2"><br>
<b>Cc:</b> <a href="mailto:jyknight@google.com" target="_blank">jyknight@google.com</a>; <a href="mailto:dschuff@google.com" target="_blank">dschuff@google.com</a>; <a href="mailto:Matthew.Arsenault@amd.com" target="_blank">Matthew.Arsenault@amd.com</a>; <a href="mailto:stanislav.mekhanoshin@amd.com" target="_blank">stanislav.mekhanoshin@amd.com</a>; <a href="mailto:danalbert@google.com" target="_blank">danalbert@google.com</a>; <a href="mailto:srhines@google.com" target="_blank">srhines@google.com</a>; <a href="mailto:javed.absar@arm.com" target="_blank">javed.absar@arm.com</a>; <a href="mailto:emaste@freebsd.org" target="_blank">emaste@freebsd.org</a>; <a href="mailto:jholewinski@nvidia.com" target="_blank">jholewinski@nvidia.com</a>; <a href="mailto:tberghammer@google.com" target="_blank">tberghammer@google.com</a>; <a href="mailto:ted.woodward@codeaurora.org" target="_blank">ted.woodward@codeaurora.org</a>;
 <a href="mailto:jfb@chromium.org" target="_blank">jfb@chromium.org</a>; <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
</font></div></div></div></div><div><div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt"><div style="font-family:Times New Roman;color:#000000;font-size:16px"><div style="direction:ltr"><font color="#000000" face="Tahoma" size="2"><b>Subject:</b> RE: [PATCH] D10969: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.<br>
</font><br>
</div></div></div></div><div><div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt"><div style="font-family:Times New Roman;color:#000000;font-size:16px">
<div></div>
<div>
<div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt">> I started a reply yesterday actually and I'm sorry I didn't finish it.<br>
<br>
> Briefly I don't think this is the right direction and I don't think you've explained why this is the right direction.<br>
<br>
> The serialization that you have planned is insufficient and doesn't take into account portability<br>
<br>
> I don't like the idea of using global metadata for it and you haven't explained why this is acceptable<br>
<br>
<div style="font-family:Times New Roman;color:#000000;font-size:16px">
<hr>
<div style="direction:ltr"><font color="#000000" face="Tahoma" size="2"><b>From:</b> Eric Christopher [<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>]<br>
<b>Sent:</b> 15 September 2015 16:56<br>
<b>To:</b> Daniel Sanders; <a href="mailto:reviews%2BD10969%2Bpublic%2B5f3f4828b5695b54@reviews.llvm.org" target="_blank">reviews+D10969+public+5f3f4828b5695b54@reviews.llvm.org</a>; <a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a><br>
<b>Cc:</b> <a href="mailto:jyknight@google.com" target="_blank">jyknight@google.com</a>; <a href="mailto:dschuff@google.com" target="_blank">dschuff@google.com</a>; <a href="mailto:Matthew.Arsenault@amd.com" target="_blank">Matthew.Arsenault@amd.com</a>; <a href="mailto:stanislav.mekhanoshin@amd.com" target="_blank">stanislav.mekhanoshin@amd.com</a>; <a href="mailto:danalbert@google.com" target="_blank">danalbert@google.com</a>; <a href="mailto:srhines@google.com" target="_blank">srhines@google.com</a>; <a href="mailto:javed.absar@arm.com" target="_blank">javed.absar@arm.com</a>; <a href="mailto:emaste@freebsd.org" target="_blank">emaste@freebsd.org</a>; <a href="mailto:jholewinski@nvidia.com" target="_blank">jholewinski@nvidia.com</a>; <a href="mailto:tberghammer@google.com" target="_blank">tberghammer@google.com</a>; <a href="mailto:ted.woodward@codeaurora.org" target="_blank">ted.woodward@codeaurora.org</a>;
 <a href="mailto:jfb@chromium.org" target="_blank">jfb@chromium.org</a>; <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<b>Subject:</b> Re: [PATCH] D10969: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">
<p dir="ltr">I started a reply yesterday actually and I'm sorry I didn't finish it. Briefly I don't think this is the right direction and I don't think you've explained why this is the right direction. The serialization that you have planned is insufficient
 and doesn't take into account portability, I don't like the idea of using global metadata for it and you haven't explained why this is acceptable. I actually was spending a non-trivial amount of time trying to design a way for this to work along side the assembler
 and main compiler (which I don't think you've bothered to try to do)</p>
<p>Please revert this immediately.</p>
<p>-eric</p>
<p><br>
</p>
<br>
<div class="gmail_quote">
<div dir="ltr">On Tue, Sep 15, 2015, 6:29 AM Daniel Sanders <<a href="mailto:Daniel.Sanders@imgtec.com" target="_blank">Daniel.Sanders@imgtec.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
(apologies if this double-posts, it seems Phabricator just died)<br>
<br>
I've committed this (along with the trivial clang patch) in r247683 on the grounds that I have Renato's LGTM and I don't have any pending review comments. It doesn't seem reasonable to continue to wait for Eric with no indication of when he might be able to
 take a look at it. For the record, I've been waiting since July and my request last week for an indication as to when he might find time has not been replied to. Of course, post-commit review comments are still welcome and I'm happy to follow up on them.<br>
<br>
> -----Original Message-----<br>
> From: Daniel Sanders<br>
> Sent: 15 September 2015 14:20<br>
> To: Daniel Sanders; <a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a><br>
> Cc: <a href="mailto:jyknight@google.com" target="_blank">jyknight@google.com</a>;
<a href="mailto:dschuff@google.com" target="_blank">dschuff@google.com</a>;<br>
> <a href="mailto:Matthew.Arsenault@amd.com" target="_blank">Matthew.Arsenault@amd.com</a>;
<a href="mailto:stanislav.mekhanoshin@amd.com" target="_blank">stanislav.mekhanoshin@amd.com</a>;<br>
> <a href="mailto:danalbert@google.com" target="_blank">danalbert@google.com</a>;
<a href="mailto:srhines@google.com" target="_blank">srhines@google.com</a>; <a href="mailto:javed.absar@arm.com" target="_blank">
javed.absar@arm.com</a>;<br>
> <a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>; <a href="mailto:emaste@freebsd.org" target="_blank">
emaste@freebsd.org</a>; <a href="mailto:jholewinski@nvidia.com" target="_blank">jholewinski@nvidia.com</a>;<br>
> <a href="mailto:tberghammer@google.com" target="_blank">tberghammer@google.com</a>;
<a href="mailto:ted.woodward@codeaurora.org" target="_blank">ted.woodward@codeaurora.org</a>;<br>
> <a href="mailto:jfb@chromium.org" target="_blank">jfb@chromium.org</a>; <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">
llvm-commits@lists.llvm.org</a><br>
> Subject: Re: [PATCH] D10969: Replace Triple with a new TargetTuple in<br>
> MCTargetDesc/* and related. NFC.<br>
><br>
> This revision was automatically updated to reflect the committed changes.<br>
> Closed by commit rL247683: Replace Triple with a new TargetTuple in<br>
> MCTargetDesc/* and related. NFC. (authored by dsanders).<br>
><br>
> Changed prior to commit:<br>
>   <a href="http://reviews.llvm.org/D10969?vs=34223&id=34801#toc" rel="noreferrer" target="_blank">http://reviews.llvm.org/D10969?vs=34223&id=34801#toc</a><br>
><br>
> Repository:<br>
>   rL LLVM<br>
><br>
> <a href="http://reviews.llvm.org/D10969" rel="noreferrer" target="_blank">http://reviews.llvm.org/D10969</a><br>
><br>
> Files:<br>
>   cfe/trunk/lib/Parse/ParseStmtAsm.cpp<br>
>   cfe/trunk/tools/driver/cc1as_main.cpp<br>
>   llvm/trunk/include/llvm/ADT/TargetTuple.h<br>
>   llvm/trunk/include/llvm/MC/MCELFObjectWriter.h<br>
>   llvm/trunk/include/llvm/MC/MCSubtargetInfo.h<br>
>   llvm/trunk/include/llvm/Support/TargetRegistry.h<br>
>   llvm/trunk/include/llvm/Target/TargetMachine.h<br>
>   llvm/trunk/include/llvm/Target/TargetSubtargetInfo.h<br>
>   llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp<br>
>   llvm/trunk/lib/MC/MCDisassembler/Disassembler.cpp<br>
>   llvm/trunk/lib/MC/MCDisassembler/MCExternalSymbolizer.cpp<br>
>   llvm/trunk/lib/MC/MCDisassembler/MCRelocationInfo.cpp<br>
>   llvm/trunk/lib/MC/MCSubtargetInfo.cpp<br>
>   llvm/trunk/lib/Support/CMakeLists.txt<br>
>   llvm/trunk/lib/Support/TargetTuple.cpp<br>
>   llvm/trunk/lib/Target/AArch64/AArch64Subtarget.cpp<br>
>   llvm/trunk/lib/Target/AArch64/AArch64Subtarget.h<br>
>   llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp<br>
>   llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp<br>
>   llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp<br>
>   llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp<br>
>   llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h<br>
>   llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp<br>
>   llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h<br>
>   llvm/trunk/lib/Target/AMDGPU/AMDGPUSubtarget.cpp<br>
>   llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp<br>
>   llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp<br>
>   llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.h<br>
><br>
> llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp<br>
>   llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h<br>
>   llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp<br>
>   llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp<br>
>   llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp<br>
>   llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h<br>
>   llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h<br>
>   llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h<br>
>   llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendWinCOFF.h<br>
>   llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp<br>
>   llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp<br>
>   llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h<br>
>   llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp<br>
>   llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp<br>
>   llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h<br>
>   llvm/trunk/lib/Target/BPF/BPFSubtarget.cpp<br>
>   llvm/trunk/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp<br>
>   llvm/trunk/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h<br>
>   llvm/trunk/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp<br>
>   llvm/trunk/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h<br>
>   llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.cpp<br>
>   llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp<br>
>   llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp<br>
>   llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.h<br>
>   llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp<br>
>   llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h<br>
>   llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp<br>
>   llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.h<br>
>   llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp<br>
>   llvm/trunk/lib/Target/MSP430/MSP430Subtarget.cpp<br>
>   llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp<br>
>   llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp<br>
>   llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h<br>
>   llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp<br>
>   llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h<br>
>   llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp<br>
>   llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h<br>
>   llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp<br>
>   llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h<br>
>   llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp<br>
>   llvm/trunk/lib/Target/Mips/MipsSubtarget.cpp<br>
>   llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp<br>
>   llvm/trunk/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp<br>
>   llvm/trunk/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h<br>
>   llvm/trunk/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp<br>
>   llvm/trunk/lib/Target/NVPTX/NVPTXSubtarget.cpp<br>
>   llvm/trunk/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp<br>
>   llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp<br>
>   llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp<br>
>   llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h<br>
>   llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp<br>
>   llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp<br>
>   llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h<br>
>   llvm/trunk/lib/Target/PowerPC/PPCSubtarget.cpp<br>
>   llvm/trunk/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp<br>
>   llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp<br>
>   llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp<br>
>   llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h<br>
>   llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp<br>
>   llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.h<br>
>   llvm/trunk/lib/Target/Sparc/SparcSubtarget.cpp<br>
><br>
> llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp<br>
>   llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp<br>
>   llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.h<br>
>   llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp<br>
>   llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.h<br>
>   llvm/trunk/lib/Target/SystemZ/SystemZSubtarget.cpp<br>
>   llvm/trunk/lib/Target/TargetSubtargetInfo.cpp<br>
>   llvm/trunk/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp<br>
>   llvm/trunk/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp<br>
>   llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp<br>
>   llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.h<br>
>   llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp<br>
>   llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h<br>
>   llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp<br>
>   llvm/trunk/lib/Target/X86/X86Subtarget.cpp<br>
>   llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.cpp<br>
>   llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.h<br>
>   llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp<br>
>   llvm/trunk/lib/Target/XCore/XCoreSubtarget.cpp<br>
>   llvm/trunk/tools/dsymutil/DwarfLinker.cpp<br>
>   llvm/trunk/tools/llvm-mc/llvm-mc.cpp<br>
>   llvm/trunk/tools/llvm-objdump/MachODump.cpp<br>
>   llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp<br>
>   llvm/trunk/tools/llvm-rtdyld/llvm-rtdyld.cpp<br>
>   llvm/trunk/utils/TableGen/SubtargetEmitter.cpp<br>
<br>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div></div></blockquote></div></blockquote></div>