Skip to content

clang 10.0.0_rc1 standalone fails to build with polly#58

Closed
tstellar wants to merge 1 commit intorelease/10.xfrom
issue-58-pr
Closed

clang 10.0.0_rc1 standalone fails to build with polly#58
tstellar wants to merge 1 commit intorelease/10.xfrom
issue-58-pr

Conversation

@tstellar
Copy link
Owner

@tstellar tstellar commented Apr 9, 2020

@tstellar
Copy link
Owner Author

tstellar commented Apr 9, 2020

cherry-pick: d21664c

Call llvm_process_pass_plugin from clang when in standalone mode.

Differential Revision: https://reviews.llvm.org/D74464

(cherry picked from commit d21664c)
@github-actions
Copy link

github-actions bot commented Apr 9, 2020

branch: issue-58-pr

@tstellar tstellar closed this Feb 17, 2021
tstellar pushed a commit that referenced this pull request Aug 27, 2024
)

Currently, process of replacing bitwise operations consisting of
`LSR`/`LSL` with `And` is performed by `DAGCombiner`.

However, in certain cases, the `AND` generated by this process
can be removed.

Consider following case:
```
        lsr x8, x8, #56
        and x8, x8, #0xfc
        ldr w0, [x2, x8]
        ret
```

In this case, we can remove the `AND` by changing the target of `LDR`
to `[X2, X8, LSL #2]` and right-shifting amount change to 56 to 58.

after changed:
```
        lsr x8, x8, #58
        ldr w0, [x2, x8, lsl #2]
        ret
```

This patch checks to see if the `SHIFTING` + `AND` operation on load
target can be optimized and optimizes it if it can.
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.

1 participant