SDNodes can only have 64k operands and for some inputs (e.g. large
number of stores), we can reach this limit when creating TokenFactor
nodes. This patch is a follow up to D56740 and updates a few more places
that potentially can create TokenFactors with too many operands.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
Unfortunately this requires at least 64k stores to trigger AFAIK. It is triggered by the same input as D56740. I could try to reduce it, but I am not sure if such a big test case would be valuable?
Comment Actions
TBH I didn't expect that tests would be easy, but I don't think that should be a stopper to this patch (and code coverage indicates that all these cases are active).
LGTM
Comment Actions
Thanks! I'll try to reduce it over the weekend. Also, this might be something that would be good to fuzz.
Comment Actions
I've got a simple python script to generate a test case, but it takes multiple minutes, because DAGCombine is really slow with lots of stores (which is another thing I am looking into). For now, I think the patch has to go in without test case :(