-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Closed as not planned
Closed as not planned
Copy link
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillaloopoptimmiscompilationobsoleteIssues with old (unsupported) versions of LLVMIssues with old (unsupported) versions of LLVM
Description
Bugzilla Link | 47658 |
Version | trunk |
OS | All |
Reporter | LLVM Bugzilla Contributor |
CC | @efriedma-quic,@hfinkel,@jmolloy,@zhengyang92,@nunoplopes,@regehr |
Extended Description
Test: Transforms/LoopReroll/basic.ll
Function: pointer_bitcast_baseinst
Reason: Memory mismatch
Example: https://godbolt.org/z/5c8YK1
Ordering of loads and stores with memory offsets:
source - load 876, load 892, store 892, store 900, ...
target - load 876, store 892, load 892, store 900, ...
Since there is overlap between the memory positions of the second load and first store in source then the swapped ordering of these instructions in target is incorrect.
This optimization should not be performed in case of such a memory overlap.
A detailed and complete Alive report with single iteration loop unroll on this test can be seen here: https://pastebin.com/pQsf61wb
Metadata
Metadata
Assignees
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillaloopoptimmiscompilationobsoleteIssues with old (unsupported) versions of LLVMIssues with old (unsupported) versions of LLVM