[PATCH] D124085: [CodeGen] Fix assertion failure on large types store

Daniil Kovalev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 24 18:43:31 PDT 2022


kovdan01 added a comment.

In D124085#3470201 <https://reviews.llvm.org/D124085#3470201>, @craig.topper wrote:

> In D124085#3461526 <https://reviews.llvm.org/D124085#3461526>, @kovdan01 wrote:
>
>> As for now, the patch contains no tests. The reason is that a minimal test lasts unacceptably long (didn't manage to wait until end) with assertions enabled - the bottleneck is `checkForCyclesHelper` function. With expensive checks enabled, one more bottleneck appears: `DAGTypeLegalizer::PerformExpensiveChecks`. When commenting those functions bodies, minimal test with release-checked compiler lasts for about 160s on my PC. Could anyone suggest a way to test this patch correctly? IMHO looks like we can leave it without special test because the fix is pretty trivial, while I personally see no obvious way to test it.
>
> Since this in CodeGenPrepare, couldn't you write a test that uses `opt -codegenprepare` and not go through SelectionDAG?

Thanks for useful advice! That works, added llvm/test/CodeGen/Generic/codegen_prepare_large_structs.ll.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124085/new/

https://reviews.llvm.org/D124085



More information about the llvm-commits mailing list