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

Craig Topper via llvm-dev llvm-dev at lists.llvm.org
Wed Jul 19 15:07:05 PDT 2017


Also every line in CodeGenRegisters.cpp that does something like this
Idx.LaneMask = LaneBitmask(1 << Bit); Needs to use 1ULL instead of just 1.
Alternatively use my patch from r308042.

~Craig

On Wed, Jul 19, 2017 at 3:04 PM, Krzysztof Parzyszek <
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>. 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>> 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>>> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170719/8a66b419/attachment.html>


More information about the llvm-dev mailing list