[PATCH] D37957: [TableGen] Some simple optimizations to TableGen execution time

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 19 14:45:07 PDT 2017


Is that any diffrerent than this one

let Uses = [ECX, EAX] in
def MWAITrr   : I<0x01, MRM_C9, (outs), (ins), "mwait",
                [(int_x86_sse3_mwait ECX, EAX)], IIC_SSE_MWAIT>,
                TB, Requires<[HasSSE3]>;


~Craig

On Tue, Sep 19, 2017 at 2:43 PM, Zachary Turner <zturner at google.com> wrote:

> What is the right thing to do here?  Remove the pattern in .td, check for
> empty before inserting into the StringSet, or something else?
>
> On Tue, Sep 19, 2017 at 2:41 PM Krzysztof Parzyszek via Phabricator <
> reviews at reviews.llvm.org> wrote:
>
>> kparzysz added a comment.
>>
>> In https://reviews.llvm.org/D37957#875513, @zturner wrote:
>>
>> > Can you apply this patch Krzysztof and see if you can figure out what
>> the right thing to do is with the empty `StringRef`?
>>
>>
>> It's because of this pattern that doesn't have any named variables (i.e.
>> all names of leaf values are empty):
>> `(intrinsic_void 5755:{ *:[iPTR] }, ECX:{ *:[i32] }, EAX:{ *:[i32] },
>> EBX:{ *:[i32] })`
>>
>> It corresponds to this pattern in .td, in case anyone's interested:
>>
>>   let Uses = [ ECX, EAX, EBX ] in {
>>     def MWAITXrrr : I<0x01, MRM_FB, (outs), (ins), "mwaitx",
>>                     [(int_x86_mwaitx ECX, EAX, EBX)], IIC_SSE_MWAITX>,
>>                     TB, Requires<[ HasMWAITX ]>;
>>   }
>>
>>
>> https://reviews.llvm.org/D37957
>>
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170919/d1b4b29b/attachment.html>


More information about the llvm-commits mailing list