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

Krzysztof Parzyszek via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 19 15:07:55 PDT 2017


No, it's the same thing.  There is nothing wrong with it either, it's 
just a pattern that has no variables in it.  All leafs are registers, 
which are classes, which appear as "DefInits" without names.  This is 
where the empty names came from.  It's safe to ignore them.

-Krzysztof

On 9/19/2017 4:45 PM, Craig Topper wrote:
> 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 
> <mailto: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 <mailto:reviews at reviews.llvm.org>> wrote:
> 
>         kparzysz added a comment.
> 
>         In https://reviews.llvm.org/D37957#875513
>         <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 <https://reviews.llvm.org/D37957>
> 
> 
> 
> 

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, 
hosted by The Linux Foundation


More information about the llvm-commits mailing list