llvm-project/clang/lib/Driver
Bob Wilson 23a55f1eee Reapply "Change -save-temps to emit unoptimized bitcode files."
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

llvm-svn: 224688
2014-12-21 07:00:00 +00:00
..
Action.cpp Reapply "Change -save-temps to emit unoptimized bitcode files." 2014-12-21 07:00:00 +00:00
CMakeLists.txt Driver: add CrossWindowsToolChain 2014-10-24 03:13:37 +00:00
Compilation.cpp Driver: Use pointee_iterator rather than iterating over unique_ptrs 2014-10-03 01:04:53 +00:00
CrossWindowsToolChain.cpp Driver: correct typo 2014-11-19 17:59:00 +00:00
Driver.cpp Reapply "Change -save-temps to emit unoptimized bitcode files." 2014-12-21 07:00:00 +00:00
DriverOptions.cpp Remove the SUPPORT_ALIASARGS define 2013-08-01 00:12:13 +00:00
InputInfo.h Header guard canonicalization, clang part. 2014-08-13 16:25:19 +00:00
Job.cpp Driver: Quote the command in crash reproduction scripts. 2014-10-21 18:03:08 +00:00
MSVCToolChain.cpp Silence warning: "NOMINMAX" redefined. 2014-12-04 21:46:50 +00:00
Makefile
Multilib.cpp Driver: Simplify a use of the path API 2014-08-03 21:46:33 +00:00
Phases.cpp Reapply "Change -save-temps to emit unoptimized bitcode files." 2014-12-21 07:00:00 +00:00
SanitizerArgs.cpp Allow to disable all sanitizers with "-fno-sanitize=all" option. 2014-12-19 18:41:43 +00:00
Tool.cpp Teach Clang how to use response files when calling other tools 2014-09-15 17:45:39 +00:00
ToolChain.cpp Reapply "Change -save-temps to emit unoptimized bitcode files." 2014-12-21 07:00:00 +00:00
ToolChains.cpp Remove special case for aarch64 static vs. PIC code in iOS kernel code. 2014-12-02 00:27:35 +00:00
ToolChains.h Fix clash of gcc toolchains in hexagon driver regression tests. 2014-11-07 17:48:03 +00:00
Tools.cpp Reapply "Change -save-temps to emit unoptimized bitcode files." 2014-12-21 07:00:00 +00:00
Tools.h Reapply "Change -save-temps to emit unoptimized bitcode files." 2014-12-21 07:00:00 +00:00
Types.cpp Reapply "Change -save-temps to emit unoptimized bitcode files." 2014-12-21 07:00:00 +00:00