summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [DataFormatters] Adding formatters for libc++ std::u16string and std::u32stringShafik Yaghmour2018-10-266-12/+71
| | | | | | | | rdar://problem/41302849 Differential Revision: https://reviews.llvm.org/D53656 llvm-svn: 345402
* XFAIL sized deallocation test with GCCEric Fiselier2018-10-261-0/+3
| | | | llvm-svn: 345400
* [tblgen] Improve comments in TargetInstrPredicate.td. NFCAndrea Di Biagio2018-10-261-28/+29
| | | | llvm-svn: 345399
* [Fixed Point Arithmetic] Refactor fixed point castsBjorn Pettersson2018-10-263-194/+177
| | | | | | | | | | | | | | | | | | | | Summary: - Added names for some emitted values (such as "tobool" for the result of a cast to boolean). - Replaced explicit IRBuilder request for doing sext/zext/trunc by using CreateIntCast instead. - Simplify code for emitting satuation into one if-statement for clamping to max, and one if-statement for clamping to min. Reviewers: leonardchan, ebevhan Reviewed By: leonardchan Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D53707 llvm-svn: 345398
* Revert "UBSan blacklist workaround for bot timeouts"Vlad Tsyrklevich2018-10-261-5/+0
| | | | | | | This reverts commit r335525. This workaround is no longer necessary because PR37929 has been fixed. llvm-svn: 345397
* [MIR] Simplify and move MIR testFrancis Visoiu Mistrih2018-10-262-39/+13
| | | | | | Also fixes a Machine Verifier issue. llvm-svn: 345396
* [X86][SSE] Move 2-input limit up from getFauxShuffleMask to ↵Simon Pilgrim2018-10-261-6/+2
| | | | | | | | resolveTargetShuffleInputs Makes no difference to actual shuffle decoding yet, but merges all the existing limits in one place for when proper support is fixed. llvm-svn: 345395
* [sanitizer] Fix mallopt test on Android.Evgeniy Stepanov2018-10-261-1/+2
| | | | | | | There is not a single common mallopt option between gnu/linux and android, so simply use a random number there. llvm-svn: 345394
* Rename warnUnorderableSymbol maybeWarnUnorderableSymbol because the function ↵Rui Ueyama2018-10-264-4/+4
| | | | | | doesn't always emit a warning. llvm-svn: 345393
* Refactor readCallGraph() and readCallGraphFromObjectFiles(). NFC.Rui Ueyama2018-10-261-21/+28
| | | | llvm-svn: 345392
* [x86] commute blendvb with constant condition op to allow load foldingSanjay Patel2018-10-263-10/+16
| | | | | | | | | | | | | | | | | | | | | This is a narrow fix for 1 of the problems mentioned in PR27780: https://bugs.llvm.org/show_bug.cgi?id=27780 I looked at more general solutions, but it's a mess. We canonicalize shuffle masks based on the number of elements accessed from each operand, and that's not optional. If you remove that, we'll crash because we fail to match isel patterns. So I'm waiting until we're sure that we have blendvb with constant condition and then commuting based on the load potential. Other cases like blend-with-immediate are already handled elsewhere, so this is probably not a common problem anyway. I didn't use "MayFoldLoad" because that checks for one-use and in these cases, we've screwed that up by creating a temporary PSHUFB using these operands that we're counting on to be killed later. Undoing that didn't look like a simple task because it's intertwined with determining if we actually use both operands of the shuffle or not.a Differential Revision: https://reviews.llvm.org/D53737 llvm-svn: 345390
* [X86] Use existing pulled out VT variables. NFCI.Simon Pilgrim2018-10-261-2/+2
| | | | llvm-svn: 345388
* [SimpleLoopUnswitch] Unswitch by experimental.guard intrinsicsMax Kazantsev2018-10-262-2/+345
| | | | | | | | | | | | | | | | | | This patch adds support of `llvm.experimental.guard` intrinsics to non-trivial simple loop unswitching. These intrinsics represent implicit control flow which has pretty much the same semantics as usual conditional branches. The algorithm of dealing with them is following: - Consider guards as unswitching candidates; - If a guard is considered the best candidate, turn it into a branch; - Apply normal unswitching algorithm on this branch. The patch has no compile time effect on code that does not contain any guards. Differential Revision: https://reviews.llvm.org/D53744 Reviewed By: chandlerc llvm-svn: 345387
* [ARM] Fix ARMCodeGenPrepare test casesSjoerd Meijer2018-10-261-32/+30
| | | | | | | | | | | | While working on FileCheck producing better diagnostics in D53710, I noticed that our test case is broken in a few different ways. The test was running, but results were not checked as prefix CHECK-COMMON wasn't defined (which is what FileCheck should warn about). Also, the output was different in 2 cases because of recent changes in ARMCodeGenPrepare. Differential Revision: https://reviews.llvm.org/D53746 llvm-svn: 345386
* [Windows] Define generic arguments registers for Windows x64Aleksandr Urakov2018-10-261-6/+6
| | | | | | | | | | | | | | | | Summary: When evaluating expressions the generic arguments registers are required by ABI. This patch defines them. Reviewers: zturner, stella.stamenova, labath Subscribers: aleksandr.urakov, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D53753 llvm-svn: 345385
* [CodeGen] Remove out operands from PATCHABLE_OPFrancis Visoiu Mistrih2018-10-262-3/+3
| | | | | | | | | | The current model requires 1 out operand, but it is not used nor created. This fixed an x86 machine verifier issue. Part of PR27481. llvm-svn: 345384
* [llvm-ar] Access ADDLIB in llvm-ar via command lineOwen Reynolds2018-10-265-979/+1151
| | | | | | | | | | ADDLIB is called to add the contents of an archive to another archive. Previously this was only accessible through the use of an MRI script. With the use of a new "L" modifier, archive files can treated in the manner above when using quick append. llvm-svn: 345383
* [AMDGPU] Add a pass to promote bitcast callsScott Linder2018-10-267-8/+222
| | | | | | | | | | | | AMDGPU currently only supports direct calls, but at lower optimisation levels it fails to lower statically direct calls which appear indirect due to a bitcast. Add a pass to visit all CallSites and use CallPromotionUtils to "devirtualize" calls. Differential Revision: https://reviews.llvm.org/D52741 llvm-svn: 345382
* [clang-tidy] Re-commit: Add new 'readability-uppercase-literal-suffix' check ↵Roman Lebedev2018-10-2624-19/+1479
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (CERT DCL16-C, MISRA C:2012, 7.3, MISRA C++:2008, 2-13-4) Summary: Detects when the integral literal or floating point (decimal or hexadecimal) literal has non-uppercase suffix, and suggests to make the suffix uppercase, with fix-it. All valid combinations of suffixes are supported. ``` auto x = 1; // OK, no suffix. auto x = 1u; // warning: integer literal suffix 'u' is not upper-case auto x = 1U; // OK, suffix is uppercase. ... ``` This is a re-commit, the original was reverted by me in rL345305 due to discovered bugs. (implicit code, template instantiation) Tests were added, and the bugs were fixed. I'm unable to find any further bugs, hopefully there aren't any.. References: * [[ https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?pageId=87152241 | CERT DCL16-C ]] * MISRA C:2012, 7.3 - The lowercase character "l" shall not be used in a literal suffix * MISRA C++:2008, 2-13-4 - Literal suffixes shall be upper case Reviewers: JonasToth, aaron.ballman, alexfh, hokein, xazax.hun Reviewed By: aaron.ballman Subscribers: Eugene.Zelenko, mgorny, rnkovacs, cfe-commits Tags: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D52670 llvm-svn: 345381
* Revert r345330 "Add MS ABI mangling for operator<=>."Hans Wennborg2018-10-263-16/+13
| | | | | | | | | | The generated MS manglings differ between 32- and 64-bit, and the test only expects the latter. See also the commit email thread. > Thanks to Cameron DaCamara at Microsoft for letting us know what their > chosen mangling is here! llvm-svn: 345380
* Regenerate testSimon Pilgrim2018-10-261-4/+4
| | | | llvm-svn: 345379
* [llvm-mca] Fix -wreorder and -Wunused-private-field after r345376. NFCSam McCall2018-10-262-4/+2
| | | | llvm-svn: 345378
* [Codegen] - Implement basic .debug_loclists section emission (DWARF5).George Rimar2018-10-267-53/+302
| | | | | | | | | .debug_loclists is the DWARF 5 version of the .debug_loc. With that patch, it will be emitted when DWARF 5 is used. Differential revision: https://reviews.llvm.org/D53365 llvm-svn: 345377
* [llvm-mca] Removed dependency on mca::SourcMgr in some Views. NFCAndrea Di Biagio2018-10-269-44/+61
| | | | llvm-svn: 345376
* [SimpleLoopUnswitch] Make all checks before actual non-trivial unswitchMax Kazantsev2018-10-261-18/+20
| | | | | | | | | | | We should be able to make all relevant checks before we actually start the non-trivial unswitching, so that we could guarantee that once we have started the transform, it will always succeed. Reviewed By: chandlerc Differential Revision: https://reviews.llvm.org/D53747 llvm-svn: 345375
* [PDB] Fix `SymbolFilePDBTests` after r345313Aleksandr Urakov2018-10-261-2/+4
| | | | | | Differential Revision: https://reviews.llvm.org/D53749 llvm-svn: 345374
* [NativePDB] Add the ability to dump dump global variables.Zachary Turner2018-10-265-17/+1087
| | | | | | | | | | | | | | | | | | | | | | | | | LLDB has the ability to display global variables, even without a running process, via the target variable command. This is because global variables are linker initialized, so their values are embedded directly into the executables. This gives us great power for testing native PDB functionality in a cross-platform manner, because we don't actually need a running process. We can just create a target using an EXE file, and display global variables. And global variables can have arbitrarily complex types, so in theory we can fully exercise the type system, record layout, and data formatters for native PDB files and PE/COFF executables on any host platform, as long as our type does not require a dynamic initializer. This patch adds basic support for finding variables by name, and adds an exhaustive test for fundamental data types and pointers / references to fundamental data types. Subsequent patches will extend this to typedefs, classes, pointers to functions, and other cases. Differential Revision: https://reviews.llvm.org/D53731 llvm-svn: 345373
* Revert "Reapply: [Driver] Use forward slashes in most linker arguments"Martin Storsjo2018-10-266-37/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit r345370, as it uncovered even more issues in tests with partial/inconsistent path normalization: http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/13562 http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/886 http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/20994 In particular, these tests seem to have failed: Clang :: CodeGen/thinlto-diagnostic-handler-remarks-with-hotness.ll Clang :: CodeGen/thinlto-multi-module.ll Clang :: Driver/cuda-external-tools.cu Clang :: Driver/cuda-options.cu Clang :: Driver/hip-toolchain-no-rdc.hip Clang :: Driver/hip-toolchain-rdc.hip Clang :: Driver/openmp-offload-gpu.c At least the Driver tests could potentially be fixed by extending the path normalization to even more places, but the issues with the CodeGen tests are still unknown. In addition, a number of other tests seem to have been broken in other clang dependent tools such as clang-tidy and clangd. llvm-svn: 345372
* Update the example of BS_Stroustrup to match what is done by clang-formatSylvestre Ledru2018-10-262-18/+12
| | | | | | | | | | | | | | | | | | Summary: reported here https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911561 clang-format-7 -style="{BreakBeforeBraces: Stroustrup}" wasn't doing the same as the doc Reviewers: krasimir Reviewed By: krasimir Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D53520 llvm-svn: 345371
* Reapply: [Driver] Use forward slashes in most linker argumentsMartin Storsjo2018-10-266-17/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libtool inspects the output of $CC -v to detect what object files and libraries are linked in by default. When clang is built as a native windows executable, all paths are formatted with backslashes, and the backslashes cause each argument to be enclosed in quotes. The backslashes and quotes break further processing within libtool (which is implemented in shell script, running in e.g. msys) pretty badly. Between unix style pathes (that only work in tools that are linked to the msys runtime, essentially the same as cygwin) and proper windows style paths (with backslashes, that can easily break shell scripts and msys environments), the best compromise is to use windows style paths (starting with e.g. c:) but with forward slashes, which both msys based tools, shell scripts and native windows executables can cope with. This incidentally turns out to be the form of paths that GCC prints out when run with -v on windows as well. This change potentially makes the output from clang -v a bit more inconsistent, but it is isn't necessarily very consistent to begin with. Compared to the previous attempt in SVN r345004, this now does the same transformation on more paths, hopefully on the right set of paths so that all tests pass (previously some tests failed, where path fragments that were required to be identical turned out to use different path separators in different places). This now also is done only for non-windows, or cygwin/mingw targets, to preserve all backslashes for MSVC cases (where the paths can end up e.g. embedded into PDB files. (The transformation function itself, llvm::sys::path::convert_to_slash only has an effect when run on windows.) Differential Revision: https://reviews.llvm.org/D53066 llvm-svn: 345370
* [SystemZ] Fix -Wcovered-switch-default as coding standard regulatesFangrui Song2018-10-261-1/+0
| | | | llvm-svn: 345369
* [NFC] Add periods to CREDITS.txt (testing git-llvm)Kristina Brooks2018-10-261-2/+2
| | | | | | NFC commit to test git-llvm bridge for current GitHub monorepo. llvm-svn: 345368
* [llvm-nm] Simplify. NFCFangrui Song2018-10-261-14/+7
| | | | | | | | Change a \t to spaces Change some zero-filling memcpy to aggregate initialization Delete redundant ArchiveName.clear() after declaration llvm-svn: 345367
* [PowerPC] Fix some missed optimization opportunities in combineSetCCLi Jia He2018-10-263-56/+63
| | | | | | | | | | | For both operands are bool, short, int, long, long long, add the following optimization. 1. 0-x == y --> x+y ==0 2. 0-x != y --> x+y != 0 Review: nemanjai Differential Revision: https://reviews.llvm.org/D53360 llvm-svn: 345366
* [PowerPC][NFC] Add tests for some missed optimization opportunities in ↵Li Jia He2018-10-261-0/+436
| | | | | | | | | | | | | combineSetCC For both operands are bool, short, int, long, long long, add the following optimization test case. 1. 0-x == y --> x+y ==0 2. 0-x != y --> x+y != 0 Review: nemanjai Differential Revision: https://reviews.llvm.org/D53358 llvm-svn: 345365
* This reverts commit r345357, It is wrong to create a new directory and put ↵Li Jia He2018-10-261-436/+0
| | | | | | the test file into it. I am sorry for this. llvm-svn: 345364
* [NFC] Fix the regular expression for BE PPC in update_llc_test_checks.pyNemanja Ivanovic2018-10-261-0/+1
| | | | | | | | | Currently, the regular expression that matches the lines of assembly for PPC LE (ELFv2) does not work for the assembly for BE (ELFv1). This patch fixes it. Differential revision: https://reviews.llvm.org/D53059 llvm-svn: 345363
* PR31978: Don't crash if CodeGen sees a top-level BindingDecl.Richard Smith2018-10-262-0/+2
| | | | llvm-svn: 345362
* [PowerPC] Keep vector int to fp conversions in vector domainNemanja Ivanovic2018-10-263-0/+263
| | | | | | | | | | | | At present a v2i16 -> v2f64 convert is implemented by extracts to scalar, scalar converts, and merge back into a vector. Use vector converts instead, with the int data permuted into the proper position and extended if necessary. Patch by RolandF. Differential revision: https://reviews.llvm.org/D53346 llvm-svn: 345361
* CodeGen: correct the case for swift 4.2, 5.0Saleem Abdulrasool2018-10-262-13/+13
| | | | | | | This corrects the leader for the swift names. The encoding for 4.2 and 5.0 differ by a single bit on the second character and were swapped. llvm-svn: 345360
* [Pipeliner] Mark swp-art-deps-rec.ll as REQUIRES: asserts after rL345319Fangrui Song2018-10-261-0/+2
| | | | llvm-svn: 345359
* Add dependency from SystemZAsmParser to SystemZAsmPrinter after rL345349Fangrui Song2018-10-261-1/+1
| | | | | | This fixes -DBUILD_SHARED_LIBS=on build. The dependency is similar to that of X86's. llvm-svn: 345358
* [PowerPC][NFC] Add tests for some missed optimization opportunities in ↵Li Jia He2018-10-261-0/+436
| | | | | | | | | | | | | combineSetCC For both operands are bool, short, int, long, long long, add the following optimization test case. 1. 0-x == y --> x+y ==0 2. 0-x != y --> x+y != 0 Review: nemanjai Differential Revision: https://reviews.llvm.org/D53358 llvm-svn: 345357
* Revert "[AArch64] Create proper memoperand for multi-vector stores"Vlad Tsyrklevich2018-10-262-165/+1
| | | | | | | This reverts commit r345315, it was causing test failures on sanitizer-x86_64-linux-fast. llvm-svn: 345356
* add myself to the CREDITS.TXTLi Jia He2018-10-261-0/+4
| | | | llvm-svn: 345355
* [AArch64] Support Windows stack probe command-line arguments.Eli Friedman2018-10-262-1/+19
| | | | | | | | | | | Adds support for -mno-stack-arg-probe and -mstack-probe-size. (Not really happy copy-pasting code, but that's what we do for all the other Windows targets.) Differential Revision: https://reviews.llvm.org/D53617 llvm-svn: 345354
* Teach the DominatorTree fallback to recalculation when applying updates to ↵Chijun Sima2018-10-261-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | speedup JT (PR37929) Summary: This patch makes the dominatortree recalculate when applying updates with the size of the update vector larger than a threshold. Directly applying updates is usually slower than recalculating the whole domtree in this case. This patch fixes an issue which causes JT running slowly on some inputs. In bug 37929, the dominator tree is trying to apply 19,000+ updates several times, which takes several minutes. After this patch, the time used by DT.applyUpdates: | Input | Before (s) | After (s) | Speedup | | the 2nd Reproducer in 37929 | 297 | 0.15 | 1980x | | clang-5.0.0.0.bc | 9.7 | 4.3 | 2.26x | | clang-5.0.0.4.bc | 11.6 | 2.6 | 4.46x | Reviewers: kuhar, brzycki, trentxintong, davide, dmgreen, grosser Reviewed By: kuhar, brzycki Subscribers: kristina, llvm-commits Differential Revision: https://reviews.llvm.org/D53245 llvm-svn: 345353
* Run the min/max tests agaist the header <charconv>. Fix that header so it ↵Marshall Clow2018-10-262-0/+7
| | | | | | passes. NFC. llvm-svn: 345352
* Update test that checks auto-completion for settings set.Jonas Devlieghere2018-10-261-0/+5
| | | | | | | This reverts r345350 and updates the test rather than removing it. Now we check that `--g` auto-completes to `--global`. llvm-svn: 345351
* Remove test that checks auto-completion for settings set.Jonas Devlieghere2018-10-261-5/+0
| | | | | | | With the new `-f` option for `settings set`, `-` (dash) no longer auto-complete to `-g`. llvm-svn: 345350
OpenPOWER on IntegriCloud