[llvm-dev] error:Ran out of lanemask bits to represent subregisterr

Krzysztof Parzyszek via llvm-dev llvm-dev at lists.llvm.org
Wed Jul 19 16:14:19 PDT 2017


I tried reproducing the problem, but the file doesn't have everything I 
need (the class R_CLASS is not defined for example).

Craig's getLane patch fixes the shifts, but if you want to use a larger 
type than uint64_t, there is more work to do. I'll try to come up with 
something tomorrow.

-Krzysztof

On 7/19/2017 5:08 PM, hameeza ahmed wrote:
> My code is attached here. I m trying to add in x86 for my target in this 
> initial phase. Maybe later i will use separate target.
> 
> On Jul 19, 2017 10:04 PM, "Krzysztof Parzyszek" <kparzysz at codeaurora.org 
> <mailto:kparzysz at codeaurora.org>> wrote:
> 
>     Could you share your .td file?
> 
>     Also, could you generate the .inc file by hand and show the output?
> 
>     You could use something like this to generate it:
>     llvm-tblgen -gen-register-info -I.../lib/Target/<your-target>
>     -I.../lib/Target -I.../include/llvm/Target <your-target>.td -o -
> 
>     What is the relationship of your target with X86?  Are you trying to
>     add something to it, or are you working on a separate target?
> 
>     -Krzysztof
> 
>     On 7/19/2017 4:47 PM, hameeza ahmed wrote:
> 
>         I have made changes in 3 files:
>         LaneBitmask.h, codegenregisters.cpp and miparser.cpp. files are
>         attached here.
> 
>         Now i am getting following errors. which means registerinfo.inc
>         file is not generated successfully.
> 
>         /PIM/lib/Target/X86/MCTargetDesc/X86BaseInfo.h:733:24: error:
>                 no member named 'XMM8' in namespace 'llvm::X86'
>               if ((RegNo >= X86::XMM8 && RegNo <= X86::XMM31) ||
> 
> 
>         fatal error: too many errors emitted, stopping now [-ferror-limit=]
>         20 errors generated.
> 
>         When i comment out the line to construct 65536 bit register in
>         registerinfo.td <http://registerinfo.td>
>         <http://registerinfo.td>. it run fine.
> 
>         What to do?
> 
>         On Thu, Jul 20, 2017 at 2:36 AM, Krzysztof Parzyszek
>         <kparzysz at codeaurora.org <mailto:kparzysz at codeaurora.org>
>         <mailto:kparzysz at codeaurora.org
>         <mailto:kparzysz at codeaurora.org>>> wrote:
> 
>              Those couldn't be done generically, that's why the asserts
>         were added.
> 
>              -Krzysztof
> 
>              On 7/19/2017 4:30 PM, Craig Topper wrote:
> 
>                  What about the static asserts protecting a Log call and
>         another
>                  in the parser?
> 
>                  On Wed, Jul 19, 2017 at 2:26 PM Krzysztof Parzyszek
>                  <kparzysz at codeaurora.org
>         <mailto:kparzysz at codeaurora.org> <mailto:kparzysz at codeaurora.org
>         <mailto:kparzysz at codeaurora.org>>
>                  <mailto:kparzysz at codeaurora.org
>         <mailto:kparzysz at codeaurora.org>
>                  <mailto:kparzysz at codeaurora.org
>         <mailto:kparzysz at codeaurora.org>>>> wrote:
> 
>                       On 7/19/2017 4:18 PM, Craig Topper wrote:
>                        > LaneMask isn't as self contained as it should
>         be. 64
>                  bits is enough
>                        > here. The problem is accidental leaking of the
>         current size.
>                        >
>                        > For example there was a hard coded compare with
>         32 in
>                  tablegen
>                       until I
>                        > fixed it recently.
> 
>                       This is most likely the only example.  I actually
>         tested it
>                  with
>                       uint64_t (but without exceeding 32 lanes).
> 
>                       -Krzysztof
> 
>                       --
>                       Qualcomm Innovation Center, Inc. is a member of
>         Code Aurora
>                  Forum,
>                       hosted by The Linux Foundation
> 
>                  --         ~Craig
> 
> 
>              --     Qualcomm Innovation Center, Inc. is a member of Code
>         Aurora Forum,
>              hosted by The Linux Foundation
> 
> 
> 
>     -- 
>     Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>     hosted by The Linux Foundation
> 
> 
> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient> 
> 	Virus-free. www.avg.com 
> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient> 
> 
> 
> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>



More information about the llvm-dev mailing list