llvm-project/clang/lib/Driver
Simon Dardis 9e962add70 [mips] Add support for static model on N64
The patch teaches the Clang driver how to handle the N64 static
relocation model properly. It enforces the correct target feature
(+noabicalls) when -fno-pic is used. This is required as non-pic
N64 code as the abi extension to call PIC code (CPIC) is unsupported.

Make PIC the default for mips64 and mips64el, this affects both N32
& N64 ABIs, to better match GCC.

As part of this effort, clean up the assembler invocation command
builder, so the correct flags are used.

This and r293279 in LLVM resolves PR/23485.

Thanks to Brooks Davis for reporting the issue!

Reviewers: slthakur, seanbruno

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

llvm-svn: 293285
2017-01-27 15:05:25 +00:00
..
Action.cpp Fix MSVC "not all control paths return a value" warning 2016-10-28 10:09:35 +00:00
CMakeLists.txt [Driver] Refactor distro detection & classification as a separate API 2016-11-28 21:11:14 +00:00
Compilation.cpp [Driver][OpenMP] Add logic for offloading-specific argument translation. 2016-10-27 17:39:44 +00:00
CrossWindowsToolChain.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
Distro.cpp [Driver] Fix recognizing newer OpenSUSE versions 2016-11-28 21:11:18 +00:00
Driver.cpp Split isUsingLTO() outside of embedBitcodeInObject() and embedBitcodeMarkerOnly(). 2017-01-24 18:12:25 +00:00
DriverOptions.cpp unique_ptrify createDriverOptTable 2017-01-13 17:34:15 +00:00
InputInfo.h Add an Action* member to InputInfo. 2016-01-11 23:15:21 +00:00
Job.cpp [CrashReproducer] Collect PCH included via -include-pch 2016-12-12 19:28:25 +00:00
MSVCToolChain.cpp [Driver] Driver changes to support CUDA compilation on Windows. 2017-01-05 16:52:29 +00:00
MinGWToolChain.cpp [ToolChains] Use "static" instead of an anonymous namespace for a function. NFC 2017-01-05 16:52:47 +00:00
Multilib.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
Phases.cpp Reapply "Change -save-temps to emit unoptimized bitcode files." 2014-12-21 07:00:00 +00:00
SanitizerArgs.cpp [sanitizers] lsan+sancov doesn't need ubsanrt (multi def error) 2016-12-08 22:25:01 +00:00
Tool.cpp Rename the version of ConstructJob for multiple outputs to ConstructJobMultipleOutputs. 2016-11-03 15:41:50 +00:00
ToolChain.cpp [Driver] Allow setting the default linker during build 2016-12-14 16:46:50 +00:00
ToolChains.cpp [mips] Add support for static model on N64 2017-01-27 15:05:25 +00:00
ToolChains.h [Driver] Driver changes to support CUDA compilation on Windows. 2017-01-05 16:52:29 +00:00
Tools.cpp [mips] Add support for static model on N64 2017-01-27 15:05:25 +00:00
Tools.h Add AVR target and toolchain to Clang 2017-01-05 05:20:27 +00:00
Types.cpp [Driver][OpenMP] Update actions builder to create unbundling action when necessary. 2016-10-27 18:00:51 +00:00