| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
On {mips,mipsel,mips64,mips64el}-freebsd, we need to pass any -G option to the linker. See also:
https://gcc.gnu.org/onlinedocs/gcc/MIPS-Options.html#index-G-2007
This has been adapted from https://reviews.freebsd.org/D1190, with an added test case.
Reviewers: theraven, atanasyan, emaste
Subscribers: brooks, tomatabacu, cfe-commits, seanbruno, emaste
Differential Revision: http://reviews.llvm.org/D9114
llvm-svn: 256461
|
|
|
|
|
|
| |
function and use for the targets that can easily support it.
llvm-svn: 256230
|
|
|
|
|
|
|
|
| |
This flag isn't needed, or permitted, with the "ld" flavor of lld.
Also, add a basic ld commandline test.
llvm-svn: 256216
|
|
|
|
|
|
|
|
|
|
|
|
| |
The /Brepro flag controls whether or not the compiler should embed
timestamps into the object file. Object files which do not embed
timestamps are not suitable for incremental linking but are suitable for
hermetic build systems and staged self-hosts of clang.
A normal clang spelling of this flag has been added,
-mincremental-linker-compatible.
llvm-svn: 256204
|
|
|
|
|
|
| |
The gold plugin understands -O0..-O3, but these are not currently being passed to it.
llvm-svn: 256146
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds driver options named -glldb and -gsce to mean -g plus tuning for
lldb and SCE debuggers respectively; the existing -ggdb option does
the same for gdb. Existing options -ggdb0, -ggdb1 etc. unpack into
-ggdb -g<N>. (There will not be -glldb<N> or -gsce<N> options.) The
tuning gets a target-specific default in the driver, and is passed
into cc1 with the new -debugger-tuning option.
As fallout, fixes where '-gsplit-dwarf -g0' would ignore the -g0 part
on Linux.
Differential Revision: http://reviews.llvm.org/D15651
llvm-svn: 256104
|
|
|
|
|
|
| |
feature for command line compatibility.
llvm-svn: 256076
|
|
|
|
|
|
|
|
|
|
|
| |
r245667 changed -static so that it doesn't override an explicit -fPIC
option, but -static should still change the default for Darwin for -fno-PIC.
This matches longstanding GCC and Clang behavior on Darwin and changing it
would be disruptive, with no significant benefit.
http://reviews.llvm.org/D15455
rdar://problem/23811045
llvm-svn: 256026
|
|
|
|
|
|
|
|
|
| |
This begins minimal support for invoking 'ld' from clang for WebAssembly
targets.
Differential Revision: http://reviews.llvm.org/D15586
llvm-svn: 255848
|
|
|
|
|
|
|
|
|
|
| |
".exe" extension is inherently checked by llvm::fs::can_execute()
This patch fixes the linker extension in clang driver and updates the
unit test to accommodate the the check string on windows.
Differential Revision:http://reviews.llvm.org/D15577
llvm-svn: 255814
|
|
|
|
|
|
|
|
|
|
| |
the CC1 command line when enabling code coverage.
Patch by Ying Yi!
Differential Revision: http://reviews.llvm.org/D15222
llvm-svn: 255784
|
|
|
|
|
|
|
| |
Split the CFI runtime in two: cfi and cfi_diag. The latter includes
UBSan runtime to allow printing diagnostics.
llvm-svn: 255736
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang-side cross-DSO CFI.
* Adds a command line flag -f[no-]sanitize-cfi-cross-dso.
* Links a runtime library when enabled.
* Emits __cfi_slowpath calls is bitset test fails.
* Emits extra hash-based bitsets for external CFI checks.
* Sets a module flag to enable __cfi_check generation during LTO.
This mode does not yet support diagnostics.
llvm-svn: 255694
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch enables soft float support for ppc32 architecture and fixes
the ABI for variadic functions. This is the first in a set of patches
for soft float support in LLVM.
Patch by Strahinja Petrovic.
Differential Revision: http://reviews.llvm.org/D13351
llvm-svn: 255515
|
|
|
|
|
|
|
|
|
| |
- Removed support for hexagonv3 and earlier.
- Added handling of hexagonv55 and hexagonv60.
- Added handling of target features (hvx, hvx-double).
- Updated paths to reflect current directory layout.
llvm-svn: 255502
|
|
|
|
| |
llvm-svn: 254986
|
|
|
|
| |
llvm-svn: 254985
|
|
|
|
| |
llvm-svn: 254973
|
|
|
|
| |
llvm-svn: 254972
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Adds new option -fthinlto-index=<file> to invoke the LTO pipeline
along with function importing via clang using the supplied function
summary index file. This supports invoking the parallel ThinLTO
backend processes in a distributed build environment via clang.
Additionally, this causes the module linker to be invoked on the bitcode
file being compiled to perform any necessary promotion and renaming of
locals that are exported via the function summary index file.
Add a couple tests that confirm we get expected errors when we try to
use the new option on a file that isn't bitcode, or specify an invalid
index file. The tests also confirm that we trigger the expected function
import pass.
Depends on D15024
Reviewers: joker.eph, dexonsmith
Subscribers: joker.eph, davidxl, cfe-commits
Differential Revision: http://reviews.llvm.org/D15025
llvm-svn: 254927
|
|
|
|
|
|
|
|
|
|
| |
This patch is a fix to r252901 which changed the behavior of
clang driver. In the presence of "-nostdlib" none of the standard
libraries should be passed to link line.
Differential Revision: http://reviews.llvm.org/D15130
llvm-svn: 254535
|
|
|
|
|
|
|
|
| |
Adds support for the new Cortex-A35 ARMv8-A core.
Differential Revision: http://reviews.llvm.org/D15142
llvm-svn: 254505
|
|
|
|
|
|
|
|
|
|
| |
This adds the "+profile" and +noprofile" suffixes for the -march and
-mcpu options, to allow enabling or disabling the options Statistical
Profiling Extension to ARMv8.2-A.
Differential Revision: http://reviews.llvm.org/D15023
llvm-svn: 254161
|
|
|
|
|
|
|
|
|
|
|
| |
This adds new values for the -march option (armv8.2a and armv8.2-a,
which are aliases of each other), and new suffixes for the -march and
-mcpu options (+fp16 and +nofp16), to allow targeting the ARMv8.2-A
architecture and it's optional half-precision floating-point extension.
Differential Revision: http://reviews.llvm.org/D15022
llvm-svn: 254160
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(Re-apply patch after bug fixing)
This diff makes sure that the driver does not pass
-fomit-frame-pointer or -momit-leaf-frame-pointer to
the frontend when -pg is used. Currently, clang gives
an error if -fomit-frame-pointer is used in combination
with -pg, but -momit-leaf-frame-pointer was forgotten.
Also, disable frame pointer elimination in the frontend
when -pg is set.
Patch by Stefan Kempf.
llvm-svn: 253886
|
|
|
|
|
|
| |
The new lld gnu frontend does not support the -target option
llvm-svn: 253874
|
|
|
|
| |
llvm-svn: 253851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This diff makes sure that the driver does not pass
-fomit-frame-pointer or -momit-leaf-frame-pointer to
the frontend when -pg is used. Currently, clang gives
an error if -fomit-frame-pointer is used in combination
with -pg, but -momit-leaf-frame-pointer was forgotten.
Also, disable frame pointer elimination in the frontend
when -pg is set.
Patch by Stefan Kempf.
llvm-svn: 253846
|
|
|
|
|
|
|
|
|
| |
Cross compiling from linux and OSX results in Error: Exec format.
This is because the linker is expecting ELF formated objects.
By passing the target we can explicitly tell the linker that
it should be linking COFF objects regardless of the host.
llvm-svn: 253813
|
|
|
|
|
|
|
| |
This allows us to construct Linux toolchains without a valid linker. This
is needed for example to build a CUDA device toolchain after r253385.
llvm-svn: 253707
|
|
|
|
|
|
|
|
|
|
| |
The patch expanded the flag *at the end*, breaking invocations like:
clang-cl /W4 -Wno-unused-parameter
Reverting for now.
llvm-svn: 253678
|
|
|
|
| |
llvm-svn: 253647
|
|
|
|
| |
llvm-svn: 253582
|
|
|
|
| |
llvm-svn: 253471
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D14754
llvm-svn: 253467
|
|
|
|
| |
llvm-svn: 253390
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently clang requires several additional command
line options in order to enable new features needed
during CUDA compilation. This patch makes these
options default.
* Automatically include cuda_runtime.h if we've found
a valid CUDA installation.
* Disable automatic CUDA header inclusion during unit tests.
* Added test case for command line construction.
* Enabled target overloads and relaxed call checks that are
needed in order to include CUDA headers.
* Added CUDA-7.5 installation path to the CUDA installation search list.
* Define __CUDA__ macro to indicate CUDA compilation.
llvm-svn: 253389
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to compile a CUDA file clang must be able to find
include files for both both host and device.
This patch passes AuxToolchain to AddPreprocessingOptions and
uses it to add include paths for the opposite side of compilation.
We also must be able to find CUDA include files. If the driver
found CUDA installation, it adds appropriate include path
to CUDA headers. This can be disabled with '-nocudainc'.
- Added include paths for the opposite side of compilation.
- Added include paths to detected CUDA installation.
- Added -nocudainc to prevent adding CUDA include path.
- Added test cases to verify new functionality.
Differential Revision: http://reviews.llvm.org/D13170
llvm-svn: 253386
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang needs to know target triple for both sides of compilation so that
preprocessor macros and target builtins from both sides are available.
This change augments Compilation class to carry information about
toolchains used during different CUDA compilation passes and refactors
BuildActions to use it when it constructs CUDA jobs.
Removed DeviceTriple from CudaHostAction/CudaDeviceAction as it's no
longer needed.
Differential Revision: http://reviews.llvm.org/D13144
llvm-svn: 253385
|
|
|
|
|
|
| |
Thereby fixing a warning about failure to claim all args.
llvm-svn: 253372
|
|
|
|
| |
llvm-svn: 253350
|
|
|
|
| |
llvm-svn: 253213
|
|
|
|
| |
llvm-svn: 253191
|
|
|
|
|
|
| |
Post-commit suggestion by Filipe Cabecinhas.
llvm-svn: 253161
|
|
|
|
|
|
|
|
|
| |
This reverts r243310, which is redundant as of r253102.
Conflicts:
lib/Driver/Tools.cpp
llvm-svn: 253104
|
|
|
|
|
|
|
|
| |
This option is used to cancel -mms-bitfields on the command line.
rdar://problem/15898553
llvm-svn: 252912
|
|
|
|
|
|
|
|
| |
Last time, this caused two Windows buildbots and a single ARM buildbot to fail.
I XFAIL'd the failing test on win32,win64 machines in order to see if the ARM
buildbot complains again.
llvm-svn: 252901
|
|
|
|
|
|
|
|
| |
This currently changes the default toward the more historic -Av8/-Av9,
but as discussed with James Y Knight, consistency is for now more
important than figuring out which default CPU each OS should be using.
llvm-svn: 252571
|
|
|
|
| |
llvm-svn: 252562
|
|
|
|
|
|
|
|
|
| |
is not defined for 32bit mode, but __sparcv9 is. Pass down the correct
-target-cpu flags to the backend, so that instruction restrictions are
applied correctly. Pass down the correct -A flag when not using IAS.
The latter is limited to NetBSD targets in this commit.
llvm-svn: 252545
|