[all-commits] [llvm/llvm-project] 55e267: [clang] Add -fignore-exceptions

jasonliudev via All-commits all-commits at lists.llvm.org
Wed Feb 12 01:56:42 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 55e2678fcd4d7eca3f9a602a919da499c1103041
      https://github.com/llvm/llvm-project/commit/55e2678fcd4d7eca3f9a602a919da499c1103041
  Author: jasonliu <jasonliu.development at gmail.com>
  Date:   2020-02-12 (Wed, 12 Feb 2020)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/CodeGen/ignore-exceptions.cpp

  Log Message:
  -----------
  [clang] Add -fignore-exceptions

Summary:

This is trying to implement the functionality proposed in:
http://lists.llvm.org/pipermail/cfe-dev/2017-April/053417.html
An exception can throw, but no cleanup is going to happen.
A module compiled with exceptions on, can catch the exception throws
from module compiled with -fignore-exceptions.

The use cases for enabling this option are:
1. Performance analysis of EH instrumentation overhead
2. The ability to QA non EH functionality when EH functionality is not available.
3. User of EH enabled headers knows the calls won't throw in their program and
   wants the performance gain from ignoring EH construct.

The implementation tried to accomplish that by removing any landing pad code
 that might get generated.

Reviewed by: aaron.ballman

Differential Revision: https://reviews.llvm.org/D72644




More information about the All-commits mailing list