[PATCH] D80863: [WebAssembly] Eliminate range checks on br_tables

Kostya Serebryany via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 2 19:24:24 PDT 2020


Hi,

This made our ubsan bots red. Please fix or revert ASAP
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/42256

/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h:157:57:
runtime error: member call on misaligned address 0x000000000004 for
type 'llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::MachineInstr,
true, true, void>>', which requires 8 byte alignment
0x000000000004: note: pointer points here
<memory cannot be printed>
    #0 0x87c862 in
llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr,
true, true, void>, false, false>::operator++()
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h:157:57
    #1 0x8e1957 in operator++
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h:167:5
    #2 0x8e1957 in
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr,
llvm::ilist_sentinel_tracking<true> >,
llvm::ilist_traits<llvm::MachineInstr>
>::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr,
true, true, void>, false, false>&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/ilist.h:252:22
    #3 0x8e18de in erase
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/ilist.h:268:22
    #4 0x8e18de in erase
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/ilist.h:305:15
    #5 0x8e18de in
llvm::MachineBasicBlock::erase(llvm::MachineInstrBundleIterator<llvm::MachineInstr,
false>, llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/CodeGen/MachineBasicBlock.h:762:18
    #6 0x13a9445 in fixBrTable
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp:65:16



On Tue, Jun 2, 2020 at 1:45 PM Thomas Lively via Phabricator via
llvm-commits <llvm-commits at lists.llvm.org> wrote:

> This revision was automatically updated to reflect the committed changes.
> Closed by commit rGf99d5f8c32a8: [WebAssembly] Eliminate range checks on
> br_tables (authored by tlively).
>
> Repository:
>   rG LLVM Github Monorepo
>
> CHANGES SINCE LAST ACTION
>   https://reviews.llvm.org/D80863/new/
>
> https://reviews.llvm.org/D80863
>
> Files:
>   llvm/lib/Target/WebAssembly/CMakeLists.txt
>   llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
>   llvm/lib/Target/WebAssembly/WebAssembly.h
>   llvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp
>   llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
>   llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
>   llvm/test/CodeGen/WebAssembly/cfg-stackify.ll
>   llvm/test/CodeGen/WebAssembly/indirectbr.ll
>   llvm/test/CodeGen/WebAssembly/stack-insts.ll
>   llvm/test/CodeGen/WebAssembly/switch-unreachable-default.ll
>   llvm/test/CodeGen/WebAssembly/switch.ll
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200602/1fc3cab3/attachment.html>


More information about the llvm-commits mailing list