summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [LCG] Fix an assert in a on-scope-exit lambda that checked the contentsChandler Carruth2017-08-101-7/+9
| | | | | | | | | | of the returned value. Checking the returned value from inside of a scoped exit isn't actually valid. It happens to work when NRVO fires and the stars align, which they reliably do with Clang but don't, for example, on MSVC builds. llvm-svn: 310547
* [demangler] Fix some more -Wshadow warnings I missed in r310535Erik Pilkington2017-08-101-3/+3
| | | | llvm-svn: 310546
* [LVI] Fix LVI compile time regression around constantFoldUser()Hiroshi Yamauchi2017-08-101-14/+28
| | | | | | | | | | | | | | | | | | | Summary: Avoid checking each operand and calling getValueFromCondition() before calling constantFoldUser() when the instruction type isn't supported by constantFoldUser(). This fixes a large compile time regression in an internal build. Reviewers: sanjoy Reviewed By: sanjoy Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36552 llvm-svn: 310545
* [clang-format] let PointerAlignment dictate spacing of function ref qualifiersJacob Bandes-Storch2017-08-102-4/+5
| | | | | | | | | | | | | | Summary: The original changes for ref qualifiers in rL272537 and rL272548 allowed function const+ref qualifier spacing to diverge from the spacing used for variables. It seems more consistent for `T const& x;` to match `void foo() const&;`. Reviewers: djasper Reviewed By: djasper Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D34324 llvm-svn: 310544
* Linker: Create a function declaration when moving a non-prevailing alias of ↵Peter Collingbourne2017-08-102-0/+21
| | | | | | | | | | | | | | function type. We were previously creating a global variable of function type, which is invalid IR. This issue was exposed by r304690, in which we started asserting that global variables were of a valid type. Fixes PR33462. Differential Revision: https://reviews.llvm.org/D36438 llvm-svn: 310543
* [InstSimplify] Add test cases that show that simplifySelectWithICmpCond ↵Craig Topper2017-08-102-0/+31
| | | | | | doesn't work with non-canonical comparisons. llvm-svn: 310542
* [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use ↵Eugene Zelenko2017-08-1014-142/+227
| | | | | | warnings; other minor fixes (NFC). llvm-svn: 310541
* Remove unused functionMatt Arsenault2017-08-101-9/+0
| | | | llvm-svn: 310540
* clang-format: Fix bug with ENAS_DontAlign and empty linesJacob Bandes-Storch2017-08-103-12/+38
| | | | | | | | This fixes a bug in `ENAS_DontAlign` (introduced in D32733) where blank lines had an EscapedNewlineColumn of 0, causing a subtraction to overflow when converted back to unsigned and leading to runaway memory allocation. Differential Revision: https://reviews.llvm.org/D36019 llvm-svn: 310539
* [OpenMP] Remove offending test.Gheorghe-Teodor Bercea2017-08-091-8/+0
| | | | | Diff: D29660 llvm-svn: 310537
* Fix thinlto cache key computation for cfi-icall.Evgeniy Stepanov2017-08-093-18/+119
| | | | | | | | | | | | | | | | | | Summary: Fixed PR33966. CFI code generation for users (not just callers) of a function depends on whether this function has a jumptable entry or not. This information needs to be encoded in of thinlto cache key. We filter the jumptable list against functions that are actually referenced in the current module. Subscribers: mehdi_amini, inglorion, eraman, hiraditya Differential Revision: https://reviews.llvm.org/D36346 llvm-svn: 310536
* [demangler] Fix a bunch of -Wshadow warningsErik Pilkington2017-08-091-105/+105
| | | | | | These were causing failures in -Werror builds. llvm-svn: 310535
* ARM: Fix CMP_SWAP expansionMatthias Braun2017-08-093-38/+19
| | | | | | | | | | | | | | | | | | | | | | | Clean up after my misguided attempt in r304267 to "fix" CMP_SWAP returning an uninitialized status value. - I was always using tMOVi8 to zero the status register which cannot encode higher register numbers and llvm would silently miscompile) - Nobody was ever looking at that status value outside the expansion. ARMDAGToDAGISel::SelectCMP_SWAP() the only place creating CMP_SWAP instructions was not mapping anything to it. (The cmpxchg status value from llvm IR is lowered to a manual comparison after the CMP_SWAP) So this: - Renames the register from "status" to "temp" it make it obvious that it isn't used outside the expansion. - Remove the zeroing status/temp register. - Keep the live-in list improvements from r304267 Fixes http://llvm.org/PR34056 llvm-svn: 310534
* LangRef: Fix/improve cmpxchg wordingMatthias Braun2017-08-091-3/+3
| | | | llvm-svn: 310533
* [clang-tidy] Don't compute the edit distance if it's over the threshold.Benjamin Kramer2017-08-091-2/+2
| | | | | | No functional change intended. llvm-svn: 310532
* [Path] Sink predicate computations to their uses. NFCI.Benjamin Kramer2017-08-091-5/+4
| | | | llvm-svn: 310531
* Mark test as unsupported c++98/03 to fix buildbotsErik Pilkington2017-08-091-0/+2
| | | | llvm-svn: 310530
* [X86][Asm] Allow negative immediate to appear before bracketed expressionCoby Tayree2017-08-091-3/+9
| | | | | | | | | | | Currently, only non-negative immediate is allowed prior to a brac expression (memory reference). MASM / GAS does not have any problem cope with the left side of the real line, so we should be able to as well. llvm: D36229 Differential Revision: https://reviews.llvm.org/D36230 llvm-svn: 310529
* [X86][Asm] Allow negative immediate to appear before bracketed expressionCoby Tayree2017-08-092-7/+2
| | | | | | | | | Currently, only non-negative immediate is allowed prior to a brac expression (memory reference). MASM / GAS does not have any problem cope with the left side of the real line, so we should be able to as well. Differntial Revision: https://reviews.llvm.org/D36229 llvm-svn: 310528
* AMDGPU: Use direct struct returns and argumentsMatt Arsenault2017-08-094-46/+743
| | | | | | | | | | | | | | | | This is an improvement over always using byval for structs. This will use registers until ~16 are used, and then switch back to byval. This needs more work, since I'm not sure it ever really makes sense to use byval. If the register limit is exceeded, the arguments still end up passed on the stack, but with a different ABI. It also may make sense to base this on number of registers used for non-struct arguments, rather than just arguments that appear first in the argument list. llvm-svn: 310527
* Add --icf=none option.Rui Ueyama2017-08-093-2/+26
| | | | | | --icf=none negates --icf=all. llvm-svn: 310526
* [demangler] Improve representation of substitutions/templatesErik Pilkington2017-08-092-190/+387
| | | | | | Differential revision: https://reviews.llvm.org/D36427 llvm-svn: 310525
* [Hexagon] Ignore DBG_VALUEs when counting instructions in hexagon-early-ifKrzysztof Parzyszek2017-08-093-5/+61
| | | | llvm-svn: 310524
* Use unsigned instead of an enum for map keysGeorge Burgess IV2017-08-091-23/+12
| | | | | | | ubsan's enum sanitizer doesn't like the latter, and we had to have out-of-bounds values for DenseMapInfo's tombstone/empty keys. llvm-svn: 310523
* [Linker] PR33527 - Linker::LinkOnlyNeeded should import AppendingLinkage globalsBenoit Belley2017-08-0911-2/+176
| | | | | | | | | | | Linker::LinkOnlyNeeded should always import globals with AppendingLinkage. This resolves PR33527. Differential Revision: https://reviews.llvm.org/D34448 llvm-svn: 310522
* [Sema] Assign new flag -Wenum-compare-switch to switch-related parts of ↵Gabor Horvath2017-08-095-6/+12
| | | | | | | | | | -Wenum-compare Patch by: Reka Nikolett Kovacs Differential Revision: https://reviews.llvm.org/D36526 llvm-svn: 310521
* [Docs] Remove a stray period from a code example in the Programmer's Manual.Craig Topper2017-08-091-1/+1
| | | | llvm-svn: 310520
* [OpenMP] Fix failing test for D29660.Gheorghe-Teodor Bercea2017-08-091-3/+1
| | | | | | Non-functional change. llvm-svn: 310519
* [llvm-cov] Rearrange entries in report index.Eli Friedman2017-08-094-16/+62
| | | | | | | | | | | | | | Files which don't contain any functions are likely useless; don't include them in the main table. Put the links at the bottom of the page, in case someone wants to figure out coverage for code inside a macro. Not sure if this is the best solution, but it seems like an improvement. Differential Revision: https://reviews.llvm.org/D36298 llvm-svn: 310518
* [RuntimeDyld][ORC] Add support for Thumb mode to RuntimeDyldMachOARM.Lang Hames2017-08-098-35/+281
| | | | | | | | | | | This patch adds support for thumb relocations to RuntimeDyldMachOARM, and adds a target-specific flags field to JITSymbolFlags (so that on ARM we can record whether each symbol is Thumb-mode code). RuntimeDyldImpl::emitSection is modified to ensure that stubs memory is correctly aligned based on the size returned by getStubAlignment(). llvm-svn: 310517
* Make -std=c++17 an alias of -std=c++1zHans Wennborg2017-08-093-6/+9
| | | | | | | | | | | | | | | | As suggested on PR33912. Trying to keep this small to make it easy to merge to the 5.0 branch. We can do a follow-up with more thorough renaming (diagnostic text, options, ids, etc.) later. (For C++14 this was done in r215982, and I think a smaller patch for the 3.5 branch: http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20140818/113013.html) Differential Revision: https://reviews.llvm.org/D36532 llvm-svn: 310516
* AMDGPU: Fix assert on n inline asm constraintMatt Arsenault2017-08-092-6/+31
| | | | llvm-svn: 310515
* [Hexagon] Tie implicit uses to defs in predicated instructionsKrzysztof Parzyszek2017-08-091-6/+22
| | | | llvm-svn: 310514
* [OpenMP] Enable executable lookup into driver directory.Gheorghe-Teodor Bercea2017-08-091-0/+3
| | | | | | | | | | | | | | Summary: Invoking the compiler inside a script causes the clang-offload-bundler executable to not be found. This patch enables the lookup for executables in the driver directory where the clang-offload-bundler resides. Reviewers: hfinkel, carlo.bertolli, arpith-jacob, ABataev, caomhin Reviewed By: hfinkel Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D36537 llvm-svn: 310513
* Add remainder of unittests to Xcode projectTim Hammerquist2017-08-091-17/+133
| | | | | | | | Resolves a few build settings required to run DWARF tests as well. rdar://problem/33664378 llvm-svn: 310512
* [OPENMP] Emit non-debug version of outlined functions with originalAlexey Bataev2017-08-095-27/+38
| | | | | | | | | | | name. If the host code is compiled with the debug info, while the target without, there is a problem that the compiler is unable to find the debug wrapper. Patch fixes this problem by emitting special name for the debug version of the code. llvm-svn: 310511
* [SimplifyCFG] remove checks for crasher test from r310481Sanjay Patel2017-08-091-45/+5
| | | | | | | Not sure why the earlier version would fail, but trying to get the bots (and my local machine) to pass again. llvm-svn: 310510
* [InstCombine] narrow rotate left/right patterns to eliminate zext/trunc ↵Sanjay Patel2017-08-093-1/+196
| | | | | | | | | | | | | | | | | | | | | | | (PR34046) I couldn't find any smaller folds to help the cases in: https://bugs.llvm.org/show_bug.cgi?id=34046 after: rL310141 The truncated rotate-by-variable patterns elude all of the existing transforms because of multiple uses and knowledge about demanded bits and knownbits that doesn't exist without the whole pattern. So we need an unfortunately large pattern match. But by simplifying this pattern in IR, the backend is already able to generate rolb/rolw/rorb/rorw for x86 using its existing rotate matching logic (although there is a likely extraneous 'and' of the rotate amount). Note that rotate-by-constant doesn't have this problem - smaller folds should already produce the narrow IR ops. Differential Revision: https://reviews.llvm.org/D36395 llvm-svn: 310509
* PointerLikeTypeTraits: class->struct to match LLVM changeDavid Blaikie2017-08-099-31/+17
| | | | llvm-svn: 310508
* PointerLikeTypeTraits: class->struct & remove the base definitionDavid Blaikie2017-08-094-26/+12
| | | | | | | This simplifies implementations and removing the base definition paves the way for detecting whether a type is 'pointer like'. llvm-svn: 310507
* Reduce variable scope by moving declaration into if clauseDavid Blaikie2017-08-091-8/+8
| | | | llvm-svn: 310506
* [OpenMP] Make the PTX version tests general enough to work on all toolchains.Gheorghe-Teodor Bercea2017-08-091-6/+22
| | | | | | | | | | Add explicit test for Darwin and PowerPC. Clean-up tests. Non-functional change. Original diff: D29660 llvm-svn: 310505
* [ManagedMemoryRewrite] [Polly] Erase original malloc and free. [NFC]Siddharth Bhat2017-08-092-0/+6
| | | | | | | We do not need to keep `malloc` and `free` around since they are replaced by `polly_{malloc,free}Managed.` llvm-svn: 310504
* [asan] Fix instruction emission ordering with dynamic shadow.Matt Morehouse2017-08-092-6/+9
| | | | | | | | | | | | | | | | Summary: Instrumentation to copy byval arguments is now correctly inserted after the dynamic shadow base is loaded. Reviewers: vitalybuka, eugenis Reviewed By: vitalybuka Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D36533 llvm-svn: 310503
* [COFF, ARM64] Add MS builtins __dmb, __dsb, __isbMandeep Singh Grang2017-08-091-3/+3
| | | | | | | | | | | | Reviewers: mstorsjo, rnk, ruiu, compnerd, efriedma Reviewed By: efriedma Subscribers: efriedma, aemerson, javed.absar, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D36110 llvm-svn: 310502
* Fix VASprintfTest.cpp for Darwin, add checksTim Hammerquist2017-08-092-2/+12
| | | | | | | | | | | | | | | | | | | | | | | Summary: The EncodingError test ensures that trying to encode a multibyte wchar with a given codepage fails. If setlocale() fails, the encoding is performed using the current locale, which may or may not fail. This patch asserts that both setlocale() operations are successful, as well as falling back to a widely available unibyte encoding for non-Windows systems. <rdar://problem/33782806> Reviewers: zturner, labath, lhames Reviewed By: zturner Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D36496 llvm-svn: 310499
* [X86][AVX512] Choose correct registers in vpbroadcastb/wGuy Blank2017-08-099-50/+81
| | | | | | | | | | | | Fixes the vpbroadcastb/w instructions which use GPRs as source operands, to use the correct registers. The full GPR should be used, and not the subregister, as it happens before the patch. Fixes pr33795 Differential Revision: https://reviews.llvm.org/D36479 llvm-svn: 310498
* [AMDGPU][MC][GFX9] Added 16-bit renamed and "_legacy" VALU opcodesDmitry Preobrazhensky2017-08-0910-16/+492
| | | | | | | | | | See Bug 33629: https://bugs.llvm.org//show_bug.cgi?id=33629 Reviewers: vpykhtin, SamWot, arsenm Differential Revision: https://reviews.llvm.org/D36322 llvm-svn: 310497
* [clang-tidy] Fix another crash in make-unique check.Haojian Wu2017-08-092-0/+20
| | | | | | | | | | | | | | | | | Summary: The crash happens when calling `reset` method without any preceding operation like "->" or ".", this could happen in a subclass of the "std::unique_ptr". Reviewers: alexfh Reviewed By: alexfh Subscribers: JDevlieghere, xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D36452 llvm-svn: 310496
* CFLAA: return MustAlias when pointers p, q are equal, i.e.,Nuno Lopes2017-08-092-2/+2
| | | | | | | | | | | must-alias(p, sz_p, p, sz_q) irrespective of access sizes sz_p, sz_q As discussed a couple of weeks ago on the ML. This makes the behavior consistent with that of BasicAA. AA clients already check the obj size themselves and may not require the obj size to match exactly the access size (e.g., in case of store forwarding) llvm-svn: 310495
OpenPOWER on IntegriCloud