[PATCH] D150009: [AArch64CompressJumpTables] Prevent compression when block alignment is bigger than function alignment.

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 9 04:33:53 PDT 2023


paulwalker-arm added a comment.

In D150009#4323571 <https://reviews.llvm.org/D150009#4323571>, @efriedma wrote:

> Don't you just need to add "Alignment - FunctionAlignment" bytes to AlignedOffset?  The assembler resolves the final offsets, so we don't need precise offsets at the point we're doing the compression; we just need a conservative estimate so we don't over-compress.

Is it that simple?  Looking at the logic I convinced myself that overestimating the offsets will be just as bad because it can make it look like `MinBlock` is closer to `MaxBlock` than it actually is.  My assumption is that to be safe we need to calculate min and max offset estimates, with min == max representing the case where the offset is known. Do you agree? or am I over complicating things?

If it is more involved do you object to me getting the fix in first and the following up with the rework?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D150009



More information about the llvm-commits mailing list