Skip to content

Commit c29cdd9

Browse files
committed
LICM: add an optimization to move multiple loads and stores from/to the same memory location out of a loop.
This is a combination of load hoisting and store sinking, e.g. preheader: br header_block header_block: %x = load %not_aliased_addr // use %x and define %y store %y to %not_aliased_addr ... exit_block: is transformed to: preheader: %x = load %not_aliased_addr br header_block header_block: // use %x and define %y ... exit_block: store %y to %not_aliased_addr
1 parent 6c6b684 commit c29cdd9

File tree

5 files changed

+562
-80
lines changed

5 files changed

+562
-80
lines changed

0 commit comments

Comments
 (0)