Bugzilla – Bug 179
[licm] LICM promotes volatile memory locations to registers
Last modified: 2003-12-13 22:54:09
You need to log in before you can comment on or make changes to this bug.
LICM is hoisting volatile load/stores out of loops because the AliasSetTracker class does not keep track of whether accesses in a particular AliasSet are volatile. Because of this, LICM cannot know what it is promoting. :(
Fixed. Here's the testcase: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20031208/010169.html Here are the patches: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20031208/010170.html http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20031208/010171.html http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20031208/010172.html -Chris