diff options
author | Heejin Ahn <aheejin@gmail.com> | 2019-01-10 23:12:07 +0000 |
---|---|---|
committer | Heejin Ahn <aheejin@gmail.com> | 2019-01-10 23:12:07 +0000 |
commit | e73c7a1ab25a484161a9951fadbd93dea4c60d60 (patch) | |
tree | f9f6d79631ff773c7e1665397e8ddca2d200d354 /clang/lib/Frontend/VerifyDiagnosticConsumer.cpp | |
parent | a82855a5d79686dcc78137506ad3ffdfc007f1ca (diff) | |
download | bcm5719-llvm-e73c7a1ab25a484161a9951fadbd93dea4c60d60.tar.gz bcm5719-llvm-e73c7a1ab25a484161a9951fadbd93dea4c60d60.zip |
[WebAssembly] Fix stack pointer store check in RegStackify
Summary:
We now use __stack_pointer global and global.get/global.set instruction.
This fixes the checking routine for stack_pointer writes accordingly.
This also fixes the existing __stack_pointer test in reg-stackify.ll:
That test used to pass not because of __stack_pointer clashes but
because the function `stackpointer_callee` was not marked as `readnone`,
so it was assumed to possibly write to memory arbitraily, and
`global.set` instruction was marked as `mayStore` in the .td definition,
so they were identified as intervening writes. After we added `readnone`
to its attribute, this test fails without this patch.
Reviewers: dschuff, sunfish
Subscribers: jgravelle-google, sbc100, llvm-commits
Differential Revision: https://reviews.llvm.org/D56094
llvm-svn: 350906
Diffstat (limited to 'clang/lib/Frontend/VerifyDiagnosticConsumer.cpp')
0 files changed, 0 insertions, 0 deletions