jmorse added a comment. Seeing how this has been in and out quite a bit, I figure it's worth explaning my understanding of what's failing and why. Just so it doesn't look like we're needlessly fuzzing other peoples CI. Three kinds of failures so far:
- The usual edge cases for things we hadn't accounted for, like VLAs, - Various difficulties with variadic variable locations: these got enabled fairly late in testing so there have been a number of unexpected interactions, - The front end can be more creative with how it stores variables in allocas than initially expected, resulting in unexpected edge cases when updating the sizes of assignments due to DSE/SROA etc, and our verifier conditions are very strict. The former is expected, the middle annoying, but the latter is the riskiest as it's not something we'd anticipated at all, so has the greatest potential pop up randomly. If there's futher breakage then I think our preferred approach is relaxing the verifier conditions: this doesn't lead to producing incorrect variable locations (AFAIUI), it means describing nonexistant portions of variables (that other passes will drop) or producing overlapping fragments that make some portions of variables needlessly "optimised out". Which isn't a regression versus the existing implementation of tracking partially-promoted variables. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146987/new/ https://reviews.llvm.org/D146987 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits