summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver
Commit message (Collapse)AuthorAgeFilesLines
...
* [asan] Add iOS support for Address SanitizerAnna Zaks2016-02-022-6/+26
| | | | | | Differential Revision: http://reviews.llvm.org/D15624 llvm-svn: 259453
* ARMv7k: simplify logic for deciding sjlj-exceptions.Tim Northover2016-01-271-2/+1
| | | | | | | Slight change of behaviour in the odd armv7+watchos case, which should match the other runtime components. llvm-svn: 258994
* ARMv7k: select ABI based on v7k Arch rather than watchos OS.Tim Northover2016-01-272-2/+5
| | | | | | | | Various bits we'd like to use the new ABI actually compile with "-arch armv7k -miphoneos-version-min=9.0". Not ideal, but also not ridiculous given how slices work. llvm-svn: 258976
* Fix array index out of boundsDaniel Marjamaki2016-01-271-2/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D16582 llvm-svn: 258911
* Remove autoconf supportChris Bieneman2016-01-261-13/+0
| | | | | | | | | | | | | | | | | Summary: This patch is provided in preparation for removing autoconf on 1/26. The proposal to remove autoconf on 1/26 was discussed on the llvm-dev thread here: http://lists.llvm.org/pipermail/llvm-dev/2016-January/093875.html "This is the way [autoconf] ends Not with a bang but a whimper." -T.S. Eliot Reviewers: chandlerc, grosbach, bob.wilson, echristo Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D16472 llvm-svn: 258862
* Revert "[Driver] Make sure -fno-math-builtin option is being passed by the ↵Chad Rosier2016-01-261-3/+2
| | | | | | | | driver." This reverts commit r258814. llvm-svn: 258815
* [Driver] Make sure -fno-math-builtin option is being passed by the driver.Chad Rosier2016-01-261-2/+3
| | | | | | | | | | Support for the -fno-math-builtin option was added in r186899. The codegen side is being tested in test/CodeGen/nomathbuiltin.c. The missing part was just passing the option through the driver. PR26317 llvm-svn: 258814
* [Driver] Update FIXME comment now that PR4941 has been addressed.Chad Rosier2016-01-261-1/+1
| | | | | | The actual fix should be addressed by someone who can test on Darwin. llvm-svn: 258813
* [cfi] Cross-DSO CFI diagnostic mode (clang part)Evgeniy Stepanov2016-01-251-1/+4
| | | | | | | | | | | | | | * Runtime diagnostic data for cfi-icall changed to match the rest of cfi checks * Layout of all CFI diagnostic data changed to put Kind at the beginning. There is no ABI stability promise yet. * Call cfi_slowpath_diag instead of cfi_slowpath when needed. * Emit __cfi_check_fail function, which dispatches a CFI check faliure according to trap/recover settings of the current module. * A tiny driver change to match the way the new handlers are done in compiler-rt. llvm-svn: 258745
* [CUDA] Disable ctor/dtor aliases in device code.Justin Lebar2016-01-251-3/+5
| | | | | | | | | | | | Summary: NVPTX doesn't support aliases, so don't generate them. Reviewers: tra Subscribers: cfe-commits, jhen, echristo Differential Revision: http://reviews.llvm.org/D16499 llvm-svn: 258733
* [MSVC Compat] Only warn for unknown clang-cl argumentsEhsan Akhgari2016-01-252-3/+12
| | | | | | | | | | | | | | | | | Summary: MSVC's driver accepts all unknown arguments but warns about them. clang by default rejects all unknown arguments. This causes issues specifically with build systems such as autoconf which liberally pass things such as $LDFLAGS to the compiler and expect everything to work. This patch teaches clang-cl to ignore unknown driver arguments. Reviewers: rnk Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D16511 llvm-svn: 258720
* LTO via the gold plugin needs to be told about debugger tuning.Paul Robinson2016-01-251-0/+11
| | | | | | Differential Revision: http://reviews.llvm.org/D16094 llvm-svn: 258712
* Pass --wrap=pthread_create to linker for -fsplit-stack.Rafael Espindola2016-01-251-0/+3
| | | | | | | | | | | | | From https://gcc.gnu.org/ml/gcc-patches/2010-09/msg01807.html -fsplit-stack should pass --wrap=pthread_create to linker for -fsplit-stack It is needed to initialize the stack guard. This fixes PR 20148. Patch by H.J Lu! llvm-svn: 258698
* [CUDA] Use Triple::isNVPTX() instead of enumerating nvptx && nvptx64.Justin Lebar2016-01-231-4/+2
| | | | | | | | | | Summary: No functional changes. Subscribers: tra, echristo, jhen, cfe-commits Differential Revision: http://reviews.llvm.org/D16495 llvm-svn: 258640
* [MSVC Compat] Don't omit frame pointers if /Oy- is specified before /O2David Majnemer2016-01-211-1/+2
| | | | | | | | | Microsoft's documentation states that specifying /Oy- after the /O[12x] options disables frame-pointer omission. What it does *not* state is that it also disables frame-pointer omission if /Oy- is specified before /O[12x]. llvm-svn: 258447
* [driver] Enable some static analyzer "unix" checkers on Windows.Devin Coughlin2016-01-211-2/+11
| | | | | | | | | | | | Many of the "unix" checkers are not actually unix-specific and would be valuable to run on Windows. This commit explicitly enables those checkers on Windows. A patch by Alexander Riccio! Differential Revision: http://reviews.llvm.org/D16245 llvm-svn: 258426
* [CUDA] Handle -O options (more) correctly.Justin Lebar2016-01-191-4/+29
| | | | | | | | | | | | | | Summary: Previously we'd crash the driver if you passed -O0. Now we try to handle all of clang's various optimization flags in a sane way. Reviewers: tra Subscribers: cfe-commits, echristo, jhen Differential Revision: http://reviews.llvm.org/D16307 llvm-svn: 258174
* [Cygwin] Use -femulated-tls by default since r257718 introduced the new pass.NAKAMURA Takumi2016-01-161-1/+1
| | | | | | FIXME: Add more targets to use emutls into clang/test/Driver/emulated-tls.cpp. FIXME: Add cygwin tests into llvm/test/CodeGen/X86. Working in progress. llvm-svn: 257984
* Respect bound archs, even when they don't alter the toolchain.Justin Lebar2016-01-161-2/+9
| | | | | | | | | | | | | | | | | | Summary: It's possible to BindArch without changing the toolchain at all. For example, armv7 and armv7s have exactly the same toolchain triple. Therefore the code in the Driver that checks that we're not creating a job for the same Action twice needs to consider (Action, Toolchain, BoundArch) tuples. Reviewers: tra Subscribers: aemerson, echristo, beanz, cfe-commits Differential Revision: http://reviews.llvm.org/D16250 llvm-svn: 257983
* Introduce -fsanitize-stats flag.Peter Collingbourne2016-01-163-10/+67
| | | | | | | | | This is part of a new statistics gathering feature for the sanitizers. See clang/docs/SanitizerStats.rst for further info and docs. Differential Revision: http://reviews.llvm.org/D16175 llvm-svn: 257971
* [CUDA] Invoke ptxas and fatbinary during compilation.Justin Lebar2016-01-147-26/+182
| | | | | | | | | | | | | | | | | | | | Summary: Previously we compiled CUDA device code to PTX assembly and embedded that asm as text in our host binary. Now we compile to PTX assembly and then invoke ptxas to assemble the PTX into a cubin file. We gather the ptx and cubin files for each of our --cuda-gpu-archs and combine them using fatbinary, and then embed that into the host binary. Adds two new command-line flags, -Xcuda_ptxas and -Xcuda_fatbinary, which pass args down to the external tools. Reviewers: tra, echristo Subscribers: cfe-commits, jhen Differential Revision: http://reviews.llvm.org/D16082 llvm-svn: 257809
* Don't build jobs for the same Action + ToolChain twice.Justin Lebar2016-01-141-14/+36
| | | | | | | | | | | | | | | Summary: Right now if the Action graph is a DAG and we encounter an action twice, we will run it twice. This patch is difficult to test as-is, but I have testcases for this as used within CUDA compilation. Reviewers: Subscribers: llvm-svn: 257808
* [WebAssembly] Configure some simple include paths and runtime library settings.Dan Gohman2016-01-142-0/+31
| | | | llvm-svn: 257774
* [mips] Added support for -Wa,-mips32 and similar.Scott Egerton2016-01-141-1/+25
| | | | | | | | | | Reviewers: vkalintiris, dsanders Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15070 llvm-svn: 257762
* Driver: Remove SanitizerArgs::clear() function and SanitizerSet ctor,Peter Collingbourne2016-01-141-17/+0
| | | | | | replace with in-class initializers. llvm-svn: 257739
* Revert r257602 because it breaks integrated-as.s on mips hosts.Scott Egerton2016-01-131-24/+1
| | | | llvm-svn: 257610
* [mips] Added support for -Wa,-mips32 and similar.Scott Egerton2016-01-131-1/+24
| | | | | | | | | | Reviewers: vkalintiris, dsanders Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15070 llvm-svn: 257602
* Generalize r256026 to apply to all MachO targets, not just Darwin targets.Bob Wilson2016-01-131-2/+3
| | | | | | | | The PIC default is set for the MachO toolchain, not just the Darwin toolchain, so this treats those the same. The behavior with -static should be the same for all MachO targets. rdar://24152327 llvm-svn: 257556
* [Darwin] Fix deployment target detectionFrederic Riss2016-01-121-1/+1
| | | | | | | | | There was a thinko in the deployment target detection code that made the -isysroot parsing have precedence over the environment variable for tvOS. This patch makes this logic symetric for all platforms (the env variable must have precedence). llvm-svn: 257543
* clang-cl: Support /Dfoo#bar (PR25984)Hans Wennborg2016-01-121-72/+99
| | | | | | Such flags will now be translated to -Dfoo=bar. llvm-svn: 257537
* [CUDA] Add explicit mapping from sm_XX to compute_YY.Justin Lebar2016-01-121-2/+24
| | | | | | | | | | | | Summary: This is used by D16082 when it invokes fatbinary. Reviewers: tra Subscribers: cfe-commits, jhen, echristo Differential Revision: http://reviews.llvm.org/D16097 llvm-svn: 257530
* Revert r253898 and r253899, this breaks mingw compilation on openSUSE.Ismail Donmez2016-01-121-5/+11
| | | | | | | | | | | | | | | | | | Will re-apply after llvm 3.8 is branched. Original commit message: Driver: fallback to the location of clang if no sysroot, hard coding /usr makes little sense for mingw-w64. If we have portable toolchains having /usr breaks that. If the clang we use is in /usr/bin or /usr/sbin etc this will still detect as though it was hard coded to /usr This makes the most sense going forward for mingw-w64 toolchains on both linux and mac llvm-svn: 257468
* [CUDA] Reject values for --cuda-gpu-arch that are not of the form /sm_\d+/.Justin Lebar2016-01-112-3/+15
| | | | | | | | | | Reviewers: tra Subscribers: cfe-commits, jhen, echristo Differential Revision: http://reviews.llvm.org/D16079 llvm-svn: 257413
* Add an Action* member to InputInfo.Justin Lebar2016-01-113-15/+34
| | | | | | | | | | | | | | Summary: The CUDA toolchain needs to know which Actions created which InputInfos, because it needs to attach GPU archs to the various InputInfos. Reviewers: echristo Subscribers: jfb, dschuff, jhen, tra, cfe-commits Differential Revision: http://reviews.llvm.org/D16078 llvm-svn: 257411
* Make Driver::BuildJobsForAction return an InputInfo, instead of using an ↵Justin Lebar2016-01-111-35/+26
| | | | | | | | | | | | | | outparam. Summary: Explicit is better than implicit. Reviewers: echristo Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16013 llvm-svn: 257408
* Move ownership of Action objects into Compilation.Justin Lebar2016-01-113-121/+81
| | | | | | | | | | | | | | | | Summary: This makes constructing Action graphs which are DAGs much simpler. It also just simplifies in general the ownership semantics of Actions. Depends on D15910. Reviewers: echristo Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D15911 llvm-svn: 257407
* Update code in buildCudaActions and BuildActions to latest idiom.Justin Lebar2016-01-081-18/+14
| | | | | | | | | | | | | | | Summary: Use llvm::any_of, llvm::find, etc. No functional changes. Reviewers: tra Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15936 llvm-svn: 257190
* Driver: Use the new ELF lld linker for AMDGPUTom Stellard2016-01-082-5/+1
| | | | | | | | | | | | Summary: 'gnu-old' has been deprecated in favor or 'gnu'. Reviewers: arsenm, ruiu, rafael Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15953 llvm-svn: 257175
* Turn off lldb debug tuning by default for FreeBSDDimitry Andric2016-01-071-3/+0
| | | | | | | | | | | | | | | Summary: This is the clang part of D15966. In rL256104, debugger tuning was added to the clang driver, and again the default for FreeBSD was set to lldb. The default needs to be gdb instead. Reviewers: emaste, probinson Subscribers: cfe-commits, emaste Differential Revision: http://reviews.llvm.org/D15967 llvm-svn: 257104
* Make sure we claim arguments that are going to be passed to a gcc tool,Eric Christopher2016-01-071-5/+6
| | | | | | even if they're not going to be used to avoid unused option warnings. llvm-svn: 257040
* Replace a loop with the call that does the same thing.Eric Christopher2016-01-071-2/+1
| | | | llvm-svn: 257014
* [WebAssembly] Enable -fvisibility=hidden by default.Dan Gohman2016-01-072-0/+17
| | | | | | | This, along with many things in the WebAssembly target, is experimental. Feedback is welcome. llvm-svn: 257006
* [WebAssembly] Enable -ffunction-sections and -fdata-sections by default.Dan Gohman2016-01-071-3/+8
| | | | | | | These remain user-overridable with -fno-function-sections and -fno-data-sections. llvm-svn: 257005
* [WebAssembly] Only enable --gc-sections when optimizations are enabled.Dan Gohman2016-01-071-1/+2
| | | | | | | Also, revamp the wasm-toolchain.c test and add a test to ensure that a user-supplied --no-gc-sections comes after --gc-sections. llvm-svn: 257004
* [Hexagon] Treat -march and -mcpu as equivalentKrzysztof Parzyszek2016-01-061-7/+2
| | | | llvm-svn: 256977
* [WebAssembly] Add --gc-sections to the link line.Dan Gohman2016-01-061-0/+5
| | | | | | | | This will eventually be accompanied with a change to enable -ffunction-sections and -fdata-sections by default, which is currently delayed by some development process issues. llvm-svn: 256967
* [Driver] Add support for -fno-builtin-foo options.Chad Rosier2016-01-061-3/+25
| | | | | | | Addresses PR4941 and rdar://6756912. http://reviews.llvm.org/D15195 llvm-svn: 256937
* [Hexagon] Use back_inserter as target iterator in std::copyKrzysztof Parzyszek2016-01-061-1/+2
| | | | llvm-svn: 256934
* [Analyzer] Change the default SA checkers for PS4Sean Eveson2016-01-061-8/+15
| | | | | | | | | | | | Summary: This patch removes security.*, unix.API and unix.Vfork from the default checkers for PS4. Reviewers: dcoughlin, zaks.anna Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15888 llvm-svn: 256926
* Add -fno-movt frontend option, to disable movt/movw on ARMDimitry Andric2016-01-061-2/+2
| | | | | | | | | | | | | | | | | Summary: In rL256641, @davide turned off movt generation by default for FreeBSD. This was because our ld is very old, and did not support the relocations for it. However, Ian Lepore added the support very recently, so we would like to revert rL256641, and replace it with a new `-fno-movt` frontend option. This way, it can be turned off when needed. Reviewers: dexonsmith, echristo, emaste, davide Subscribers: andrew, aemerson, rengolin, davide, cfe-commits, ahatanak, emaste Differential Revision: http://reviews.llvm.org/D15899 llvm-svn: 256920
OpenPOWER on IntegriCloud