summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [CMake] Don't build Linux targets on Darwin in Fuchsia toolchainPetr Hosek2018-06-282-29/+29
| | | | | | | | | This is currently breaking because Linux target sysroots rely on case sensitive filesystem which is not by default enabled on macOS. Differential Revision: https://reviews.llvm.org/D48710 llvm-svn: 335919
* [COFF] Fix constant sharing regression for MinGWMartin Storsjo2018-06-282-1/+13
| | | | | | | | | | This fixes a regression since SVN r334523, where the object files built targeting MinGW were rejected by GNU binutils tools. Prior to that commit, we only put constants in comdat for MSVC configurations. Differential Revision: https://reviews.llvm.org/D48567 llvm-svn: 335918
* [CMake] Build static runtimes for host in Fuchsia first stagePetr Hosek2018-06-281-0/+12
| | | | | | | | | | First stage build is only a minimal build where we don't need a complete multiarch support, but we need enough to build the second stage. Differential Revision: https://reviews.llvm.org/D48707 llvm-svn: 335917
* Configure ELAST for MinGWPirama Arumuga Nainar2018-06-281-2/+2
| | | | | | | | | | | | | | Summary: Use _LIBCPP_MSVCRT_LIKE while configuring ELAST, so MinGW gets the same configuration as MSVC. Reviewers: compnerd, srhines, danalbert, mstorsjo Subscribers: christof, ldionne, cfe-commits Differential Revision: https://reviews.llvm.org/D48731 llvm-svn: 335916
* Fix padding with custom character in formatv.Zachary Turner2018-06-282-1/+63
| | | | | | | | | | | The format string for formatv allows to specify a custom padding character instead of the default space. This custom character was parsed correctly, but not passed on to the formatter. Patch by Marcel Köppe Differential Revision: https://reviews.llvm.org/D48140 llvm-svn: 335915
* [ThinLTO] Port InlinerFunctionImportStats handling to new PMTeresa Johnson2018-06-283-0/+28
| | | | | | | | | | | | | | Summary: The InlinerFunctionImportStats will collect and dump stats regarding how many function inlined into the module were imported by ThinLTO. Reviewers: wmi, dexonsmith Subscribers: mehdi_amini, inglorion, llvm-commits, eraman Differential Revision: https://reviews.llvm.org/D48729 llvm-svn: 335914
* [NVPTX] Delete dead codeBenjamin Kramer2018-06-285-63/+0
| | | | | | No functionality change. llvm-svn: 335913
* Add a way to load an image using a library name and list of paths.Jim Ingham2018-06-2814-18/+479
| | | | | | | | | | This provides an efficient (at least on Posix platforms) way to offload to the target process the search & loading of a library when all we have are the library name and a set of potential candidate locations. <rdar://problem/40905971> llvm-svn: 335912
* [OPENMP] Fix incomplete type check for array reductionsJoel E. Denny2018-06-282-1/+12
| | | | | | | | | | | A reduction for an incomplete array type used to produce an assert fail during codegen. Now it produces a diagnostic. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D48735 llvm-svn: 335911
* Revert r335907: [OPENMP] Fix incomplete type check for array reductionsJoel E. Denny2018-06-282-12/+1
| | | | | | Sorry, forgot to add commit log attributes again. llvm-svn: 335910
* [ARM] Add missing Thumb2 assembler diagnostics.Eli Friedman2018-06-285-90/+230
| | | | | | | | | | Mostly just adding checks for Thumb2 instructions which correspond to ARM instructions which already had diagnostics. While I'm here, also fix ARM-mode strd to check the input registers correctly. Differential Revision: https://reviews.llvm.org/D48610 llvm-svn: 335909
* Some targets don't have lld built, so just use a binary copySterling Augustine2018-06-282-3/+1
| | | | | | of the input file. llvm-svn: 335908
* [OPENMP] Fix incomplete type check for array reductionsJoel E. Denny2018-06-282-1/+12
| | | | | | | A reduction for an incomplete array type used to produce an assert fail during codegen. Now it produces a diagnostic. llvm-svn: 335907
* [lldbsuite] Fix TestBreakpointHitCount on WindowsStella Stamenova2018-06-281-1/+1
| | | | | | | | | | | | Summary: On Windows, the newer DIA SDKs end up producing function names that contain the return type as well. This means that the function name returned in the test will contain the return type (int) in addition to the name of the function and the type of the input (a(int)). To account for the possibility of both, the test should pass if the function name matches either pattern. Reviewers: zturner, asmith Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D48654 llvm-svn: 335906
* Added test case for: r334978 - Fixed file completion for paths that start ↵Raphael Isemann2018-06-281-5/+21
| | | | | | | | | | | | | | with '~' Reviewers: labath Reviewed By: labath Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D48665 llvm-svn: 335905
* [SROA] Preserve DebugLoc when rewriting alloca partitionsAnastasis Grammenos2018-06-282-0/+11
| | | | | | | | | When rewriting an alloca partition copy the DL from the old alloca over the the new one. Differential Revision: https://reviews.llvm.org/D48640 llvm-svn: 335904
* Handle absolute symbols as branch targets in disassembly.Sterling Augustine2018-06-282-21/+39
| | | | | | https://reviews.llvm.org/D48554 llvm-svn: 335903
* Add a flag to FileOutputBuffer that allows modification.Zachary Turner2018-06-285-25/+127
| | | | | | | | | | | | | FileOutputBuffer creates a temp file and on commit atomically renames the temp file to the destination file. Sometimes we want to modify an existing file in place, but still have the atomicity guarantee. To do this we can initialize the contents of the temp file from the destination file (if it exists), that way the resulting FileOutputBuffer can have only selective bytes modified. Committing will then atomically replace the destination file as desired. llvm-svn: 335902
* Remove unnecessary semicolon. NFCI.Simon Pilgrim2018-06-281-2/+2
| | | | | | Fixes -Wpedantic warning. llvm-svn: 335901
* [CMake] Respect CMAKE_STRIP and CMAKE_DSYMUTIL on apple platformsJustin Bogner2018-06-282-2/+35
| | | | | | | | This allows overriding the strip and dsymutil tools, and updates iOS.cmake to do so. I've also added libtool to iOS.cmake, but it was already respecting CMAKE_LIBTOOL if set. llvm-svn: 335900
* [CMake] Rename cxx_headers back to cxx-headers.Ahmed Bougacha2018-06-282-5/+5
| | | | | | | | | | | | | | r334477 renamed the cxx-headers target to cxx_headers, but various pieces sort-of expect the target names to match the component (e.g., LLVM_DISTRIBUTION_COMPONENTS in the various bootstrap caches, which, via some magic foreign to me, seems to expect cxx-headers, install-cxx-headers, and install-cxx-headers-stripped to exist.) Revert back to cxx-headers. Differential Revision: https://reviews.llvm.org/D48701 llvm-svn: 335899
* [CMake] Make bootstrap and compiler-rt depend on cxx-headers.Ahmed Bougacha2018-06-282-4/+13
| | | | | | | | | | | | Since r334468, we no longer always copy the libcxx headers by virtue of their presence when cmake runs. This makes some of the later stages (compiler-rt, and the bootstrapped stages) depend on them being copied, via the cxx-headers target. Differential Revision: https://reviews.llvm.org/D48700 llvm-svn: 335898
* [Debugify] Do not report line 0 locations as errorsVedant Kumar2018-06-282-5/+38
| | | | | | | | | | The checking logic should not treat artificial locations as being somehow problematic. Producing these locations can be the desired behavior of some passes. See llvm.org/PR37961. llvm-svn: 335897
* Set the line ending of clang.natvis to CRLF.Aaron Ballman2018-06-280-0/+0
| | | | | | This corresponds to r335889, which does the same thing for llvm.natvis. llvm-svn: 335896
* [X86] Suppress load folding into and/or/xor if it will prevent matching ↵Craig Topper2018-06-282-68/+71
| | | | | | | | | | btr/bts/btc. This is a follow up to r335753. At the time I forgot about isProfitableToFold which makes this pretty easy. Differential Revision: https://reviews.llvm.org/D48706 llvm-svn: 335895
* Revert "Re-land r335297 "[X86] Implement more of x86-64 large and medium PIC ↵Jonas Devlieghere2018-06-2814-545/+42
| | | | | | | | | | | | | code models"" Reverting because this is causing failures in the LLDB test suite on GreenDragon. LLVM ERROR: unsupported relocation with subtraction expression, symbol '__GLOBAL_OFFSET_TABLE_' can not be undefined in a subtraction expression llvm-svn: 335894
* Revert "[OrcMCJIT] Fix test after r335508 causing it to fail on green dragon"Jonas Devlieghere2018-06-281-2/+2
| | | | | | This reverts commit a6b904daa1d55e31187c85e5b54ef2ddc37fa713. llvm-svn: 335893
* 2 VS natvis improvements.Zachary Turner2018-06-281-3/+12
| | | | | | | | Optional<T> was broken due to a change in the class's internals. That is fixed, and additionally a visualizer is added for Expected<T>. llvm-svn: 335892
* [Darwin] Add an integration test for PGO + symbol exportsVedant Kumar2018-06-281-0/+11
| | | | | | rdar://41470205 llvm-svn: 335891
* [Darwin] Remove _VPMergeHook from the auto-export listVedant Kumar2018-06-282-2/+1
| | | | | | | | | | | Remove _VPMergeHook from Darwin's automatically-exported symbol list for PGO. As of r328987 this symbol is no longer weak. An integration test in compiler-rt will follow. rdar://41470205 llvm-svn: 335890
* Set line ending style of llvm.natvis to CRLF.Zachary Turner2018-06-280-0/+0
| | | | | | This file is used by MSVC which is obviously a Windows-only tool and prefers windows line endings. llvm-svn: 335889
* [InstCombine] allow shl+mul combos with shuffle (select) fold (PR37806)Sanjay Patel2018-06-282-14/+36
| | | | | | | | | | | | | | | | | | | | | | | | This is an enhancement to D48401 that was discussed in: https://bugs.llvm.org/show_bug.cgi?id=37806 We can convert a shift-left-by-constant into a multiply (we canonicalize IR in the other direction because that's generally better of course). This allows us to remove the shuffle as we do in the regular opcodes-are-the-same cases. This requires a small hack to make sure we don't introduce any extra poison: https://rise4fun.com/Alive/ZGv Other examples of opcodes where this would work are add+sub and fadd+fsub, but we already canonicalize those subs into adds, so there's nothing to do for those cases AFAICT. There are planned enhancements for opcode transforms such or -> add. Note that there's a different fold needed if we've already managed to simplify away a binop as seen in the test based on PR37806, but we manage to get that one case here because this fold is positioned above the demanded elements fold currently. Differential Revision: https://reviews.llvm.org/D48485 llvm-svn: 335888
* [MachineOutliner] Define MachineOutliner support in TargetOptionsJessica Paquette2018-06-289-19/+17
| | | | | | | | | | | | | | | Targets should be able to define whether or not they support the outliner without the outliner being added to the pass pipeline. Before this, the outliner pass would be added, and ask the target whether or not it supports the outliner. After this, it's possible to query the target in TargetPassConfig, before the outliner pass is created. This ensures that passing -enable-machine-outliner will not modify the pass pipeline of any target that does not support it. https://reviews.llvm.org/D48683 llvm-svn: 335887
* [DAGCombiner] Ensure we use the correct CC result type in visitSDIV (REAPPLIED)Simon Pilgrim2018-06-283-11/+39
| | | | | | | | | | We could get away with it for constant folded cases, but not for rL335719. Thanks to Krzysztof Parzyszek for noticing. Reapply original commit rL335821 which was reverted at rL335871 due to a WebAssembly bug that was fixed at rL335884. llvm-svn: 335886
* [llvm-mca] Delete Pipeline's copy ctor and assignement operator.Matt Davis2018-06-281-0/+3
| | | | | | Prevent copying of the Pipeline. llvm-svn: 335885
* [WebAssembly] Add getSetCCResultType placeholder override to handle vector ↵Simon Pilgrim2018-06-282-0/+12
| | | | | | | | compare results. Necessary to get the rL335821 bugfix (which was reverted at rL335871) un-reverted. llvm-svn: 335884
* Revert "[MachineOutliner] Add always and never options to ↵Jessica Paquette2018-06-282-42/+4
| | | | | | | | | -enable-machine-outliner" I accidentally committed this instead of D48683 because I haven't had coffee yet. llvm-svn: 335883
* Revert "[MachineOutliner] Never add the outliner in -O0"Jessica Paquette2018-06-282-18/+5
| | | | | | | | | | | This reverts commit 9c7c10e4073a0bc6a759ce5cd33afbac74930091. It relies on r335872 since that introduces the machine outliner flags test. I meant to commit D48683 in that commit, but got mixed up and committed D48682 instead. So, I'm reverting this and r335872, since D48682 hasn't made it through review yet. llvm-svn: 335882
* [WebAssembly] Fix --export of LTO symbolsSam Clegg2018-06-284-13/+53
| | | | | | Differential Revision: https://reviews.llvm.org/D48697 llvm-svn: 335881
* [CUDA] Place all CUDA sections in __NV_CUDA segment on Mac.Artem Belevich2018-06-281-4/+6
| | | | | | | | That's where CUDA binaries appear to put them. Differential Revision: https://reviews.llvm.org/D48615 llvm-svn: 335880
* [MachineOutliner] Never add the outliner in -O0Jessica Paquette2018-06-282-5/+18
| | | | | | | | | | | We shouldn't add the outliner when compiling at -O0 even if -enable-machine-outliner is passed in. This makes sure that we don't add it in this case. This also updates machine-outliner-flags to reflect the change and improves the comment describing what that test does. llvm-svn: 335879
* [WebAssembly] Add support for bitcode archive membersSam Clegg2018-06-289-17/+65
| | | | | | | | | | This change effects the behavior of --export-all. Previously --export-all would only effect symbols that survived GC. Now --export-all will prevent any non-local symbols from being GCed. Differential Revision: https://reviews.llvm.org/D48673 llvm-svn: 335878
* SelectionDAGBuilder, mach-o: Skip trap after noreturn call (for Mach-O)Matthias Braun2018-06-287-8/+60
| | | | | | | | | | | | | Add NoTrapAfterNoreturn target option which skips emission of traps behind noreturn calls even if TrapUnreachable is enabled. Enable the feature on Mach-O to save code size; Comments suggest it is not possible to enable it for the other users of TrapUnreachable. rdar://41530228 DifferentialRevision: https://reviews.llvm.org/D48674 llvm-svn: 335877
* [clang-format] Do not format raw string literals inside a recognized ↵Krasimir Georgiev2018-06-282-1/+27
| | | | | | | | | | | | | | function with a non-recognized delimiter Summary: This stops clang-format from touching raw string contents with unrecognized delimiters inside recognized functions. Unrecognized delimiters signal that the string might be special. Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D48728 llvm-svn: 335876
* [WebAssembly] LTO: Fix signatures of undefined functions in bitcodeSam Clegg2018-06-285-14/+40
| | | | | | | | | | | Function symbols that come from bitcode have not signatures. After LTO when the real symbols are read in we need to make sure that we set the signature on the existing symbol. the signature-less undefined functions. Differential Revision: https://reviews.llvm.org/D48693 llvm-svn: 335875
* [clangd] Use log10 instead of the natural logrithm for usage boost.Eric Liu2018-06-282-3/+4
| | | | llvm-svn: 335874
* Skip building TSan on platforms where there are no 64-bit architectures.Kuba Mracek2018-06-281-1/+5
| | | | llvm-svn: 335873
* [MachineOutliner] Add always and never options to -enable-machine-outlinerJessica Paquette2018-06-282-4/+42
| | | | | | | | | | | | | To enable the MachineOutliner by default on AArch64, we need to be able to disable the MachineOutliner and also provide an option to "always" enable the outliner. This adds that capability. It allows the user to still use the old -enable-machine-outliner option, which defaults to "always". This is building up to allowing the user to specify "always" versus the target-default outlining behaviour. llvm-svn: 335872
* Revert "[DAGCombiner] Ensure we use the correct CC result type in visitSDIV"Haojian Wu2018-06-283-39/+11
| | | | | | | | This reverts commit r335821. This crashes the webassembly test, run "ninja check-llvm-codegen-webassembly" to reproduce. llvm-svn: 335871
* [llvm-mca][x86] Add FMA4 resource testsSimon Pilgrim2018-06-281-0/+349
| | | | | | We should be ensuring we have (near) complete test coverage of instructions, at least for the generic model. llvm-svn: 335870
OpenPOWER on IntegriCloud