Skip to content
Snippets Groups Projects
  • Bob Wilson's avatar
    8d7e45e9
    Reapply "Change -save-temps to emit unoptimized bitcode files." · 8d7e45e9
    Bob Wilson authored
    This reapplies r224503 along with a fix for compiling Fortran by having the
    clang driver invoke gcc (see r224546, where it was reverted). I have added
    a testcase for that as well.
    
    Original commit message:
    It is often convenient to use -save-temps to collect the intermediate
    results of a compilation, e.g., when triaging a bug report. Besides the
    temporary files for preprocessed source and assembly code, this adds the
    unoptimized bitcode files as well.
    
    This adds a new BackendJobAction, which is mostly mechanical, to run after
    the CompileJobAction. When not using -save-temps, the BackendJobAction is
    combined into one job with the CompileJobAction, similar to the way the
    integrated assembler is handled. I've implemented this entirely as a
    driver change, so under the hood, it is just using -disable-llvm-optzns
    to get the unoptimized bitcode.
    
    Based in part on a patch by Steven Wu.
    rdar://problem/18909437
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@224688 91177308-0d34-0410-b5e6-96231b3b80d8
    8d7e45e9
    History
    Reapply "Change -save-temps to emit unoptimized bitcode files."
    Bob Wilson authored
    This reapplies r224503 along with a fix for compiling Fortran by having the
    clang driver invoke gcc (see r224546, where it was reverted). I have added
    a testcase for that as well.
    
    Original commit message:
    It is often convenient to use -save-temps to collect the intermediate
    results of a compilation, e.g., when triaging a bug report. Besides the
    temporary files for preprocessed source and assembly code, this adds the
    unoptimized bitcode files as well.
    
    This adds a new BackendJobAction, which is mostly mechanical, to run after
    the CompileJobAction. When not using -save-temps, the BackendJobAction is
    combined into one job with the CompileJobAction, similar to the way the
    integrated assembler is handled. I've implemented this entirely as a
    driver change, so under the hood, it is just using -disable-llvm-optzns
    to get the unoptimized bitcode.
    
    Based in part on a patch by Steven Wu.
    rdar://problem/18909437
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@224688 91177308-0d34-0410-b5e6-96231b3b80d8
Code owners
Assign users and groups as approvers for specific file changes. Learn more.