[PATCH] D76886: [InlineFunction] Disable emission of alignment assumptions by default

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 27 07:37:08 PDT 2020


lebedev.ri added a comment.

In D76886#1946040 <https://reviews.llvm.org/D76886#1946040>, @nikic wrote:

> In D76886#1944908 <https://reviews.llvm.org/D76886#1944908>, @lebedev.ri wrote:
>
> > Is there no phase-ordering-esque test for that?
>
>
> After looking at IR diffs a bit more, one difference I noticed is that jump threading is not being performed in some places. In this case the reason is not multi-use, but cost heuristics based on instruction counts. The alignment assumption adds 4 extra instructions, and if the block duplication threshold is at 6 instructions, that can easily make a difference. The phase ordering test is loosely based around that idea. Does that look useful to you?


Yes, thank you.

> @jdoerfert @Tyker In case it isn't on the roadmap yet... I guess we need to switch all the code that is currently skipping debug intrinsics to skip debug intrinsics and assumes, to make sure they don't affect codegen. With operand bundles, that should remove any impact assumes have on instruction count heuristics. Without operand bundles, it will at least lessen it by not counting the assume itself.




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

https://reviews.llvm.org/D76886





More information about the llvm-commits mailing list