1. Make SwitchInstProfUpdateWrapper strict permanently (details)
  2. [WebAssembly] Add -fwasm-exceptions for wasm EH (details)
Commit bdfe84ad110fb386676955a24afd30f68b25b80b by yevgeny.rouban
Make SwitchInstProfUpdateWrapper strict permanently
We have been using -switch-inst-prof-update-wrapper-strict set to true
by default for some time. It is time to remove the safety stuff and make
SwitchInstProfUpdateWrapper intolerant to inconsistencies in !prof
branch_weights metadata of SwitchInst.
This patch gets rid of the Invalid state of SwitchInstProfUpdateWrapper
and the option
-switch-inst-prof-update-wrapper-strict. So there is only two states:
changed and unchanged.
Reviewers: davidx, nikic, eraman, reames, chandlerc Reviewed By: davidx
Differential Revision: https://reviews.llvm.org/D67435
llvm-svn: 371707
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/include/llvm/IR/Instructions.h
Commit e8b2b8868d2192fefe2ddf6445e465e283c3ba2d by aheejin
[WebAssembly] Add -fwasm-exceptions for wasm EH
Summary: This adds `-fwasm-exceptions` (in similar fashion with
`-fdwarf-exceptions` or `-fsjlj-exceptions`) that turns on everything
with wasm exception handling from the frontend to the backend.
We currently have `-mexception-handling` in clang frontend, but this is
only about the architecture capability and does not turn on other
necessary options such as the exception model in the backend. (This can
be turned on with `llc -exception-model=wasm`, but llc is not invoked
separately as a command line tool, so this option has to be transferred
from clang.)
Turning on `-fwasm-exceptions` in clang also turns on
`-mexception-handling` if not specified, and will error out if
`-mno-exception-handling` is specified.
Reviewers: dschuff, tlively, sbc100
Subscribers: aprantl, jgravelle-google, sunfish, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67208
llvm-svn: 371708
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/lib/CodeGen/CGException.cpp
The file was modifiedclang/test/Driver/wasm-toolchain.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Driver/ToolChains/WebAssembly.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/CodeGenCXX/wasm-eh.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp