Skip to content

Conversation

poechsel
Copy link

@poechsel poechsel commented Aug 2, 2023

Added two empty flags for compatibility with gold (-no-keep-files-mapped and -no-warn-search-mismatch).

Allow local symbols in the global part of a symbol table

Allow -I to pass absolute paths

Fix a bug where wrapped symbol could be weak, in which case it's important to force load them for linking to be done correctly.

@mshinwell mshinwell merged commit 8bded6c into main Aug 17, 2023
poechsel added a commit that referenced this pull request Apr 17, 2025
poechsel pushed a commit that referenced this pull request Apr 22, 2025
Somewhat confusingly a `SCEVMulExpr` is a `SCEVNAryExpr`, so can have
> 2 operands. Previously, the vscale immediate matching did not check
the number of operands of the `SCEVMulExpr`, so would ignore any
operands after the first two.

This led to incorrect codegen (and results) for ArmSME in IREE
(https://github.com/iree-org/iree), which sometimes addresses things
that are a `vscale * vscale` multiple away. The test added with this
change shows an example reduced from IREE. The second write should
be offset from the first `16 * vscale * vscale` (* 4 bytes), however,
previously LSR dropped the second vscale and instead offset the write by
`#4, mul vl`, which is an offset of `16 * vscale` (* 4 bytes).

(cherry picked from commit 7fad04e)
poechsel added a commit that referenced this pull request Apr 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants