summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Report inferior signals as signals, not exceptions, on FreeBSDEd Maste2017-08-107-63/+16
| | | | | | | | | | | | | | | | | | | | | This is the FreeBSD equivalent of r238549. This serves 2 purposes: * LLDB should handle inferior process signals SIGSEGV/SIGILL/SIGBUS/ SIGFPE the way it is suppose to be handled. Prior to this fix these signals will neither create a coredump, nor exit from the debugger or work for signal handling scenario. * eInvalidCrashReason need not report "unknown crash reason" if we have a valid si_signo llvm.org/pr23699 Patch by Karnajit Wangkhem Differential Revision: https://reviews.llvm.org/D35223 llvm-svn: 310591
* [CMake][LLVM] Remove duplicated library mask. Broken clang linking against ↵Oleg Ranevskyy2017-08-101-6/+3
| | | | | | | | | | | | | | | | | | | clangShared Summary: The `LLVM${c}Info` mask is listed twice in LLVM-Config.cmake. This results in the libraries such as LLVMARMInfo, LLVMAArch4Info, etc appearing twice in `extract_symbols.py` command line while building `clangShared`. `Extract_symbols.py` does not work well in such a case and completely ignores the symbols from the duplicated libraries. Thus, the LLVM(...)Info symbols do not get exported from `clangShared` and linking clang against it fails with unresolved dependencies. Seems to be a mere copy-paste mistake. Reviewers: beanz, chapuni Reviewed By: chapuni Subscribers: chapuni, aemerson, mgorny, kristof.beyls, llvm-commits, asl Differential Revision: https://reviews.llvm.org/D36119 llvm-svn: 310590
* [clang-tidy] Add integer division checkGabor Horvath2017-08-108-0/+273
| | | | | | | | Patch by: Reka Nikolett Kovacs Differential Revision: https://reviews.llvm.org/D35932 llvm-svn: 310589
* [compiler-rt][ARM] Fix filtering of ARM targetsOleg Ranevskyy2017-08-101-2/+6
| | | | | | | | | | | | | | | | | Summary: Similarly to i686, the ARM build target has multiple names, such as armhf, armv7 and so on. Currently we get duplicated symbol definitions for these targets while compiling the library. Each duplicated definition has its generic version from `lib/builtins` and an ARM-specialized version from `lib/builtins/arm`. This patch fixes filtering for ARM to ignore the generic definitions if they have their ARM specializations. Reviewers: compnerd Reviewed By: compnerd Subscribers: aemerson, dberris, llvm-commits, mgorny, asl, kristof.beyls Differential Revision: https://reviews.llvm.org/D35336 llvm-svn: 310588
* [clang-tidy] Updated docs and release notes for r310584Alexander Kornienko2017-08-102-4/+19
| | | | llvm-svn: 310587
* [clang-tidy] Add a test.Alexander Kornienko2017-08-101-3/+9
| | | | llvm-svn: 310586
* [clang-tidy] Enable test for http://llvm.org/PR26228Alexander Kornienko2017-08-101-6/+7
| | | | llvm-svn: 310585
* [clang-tidy] Add modernize-use-emplace.IgnoreImplicitConstructors optionAlexander Kornienko2017-08-103-8/+137
| | | | llvm-svn: 310584
* [ValueTracking] Enabling ValueTracking patch by default (recommit). Part 2.Nikolai Bozhenov2017-08-102-9/+27
| | | | | | | | | | | | | | | The original patch was an improvement to IR ValueTracking on non-negative integers. It has been checked in to trunk (D18777, r284022). But was disabled by default due to performance regressions. Perf impact has improved. The patch would be enabled by default. Reviewers: reames, hfinkel Differential Revision: https://reviews.llvm.org/D34101 Patch by: Olga Chupina <olga.chupina@intel.com> llvm-svn: 310583
* [ValueTracking] Enabling ValueTracking patch by default (recommit). Part 1.Nikolai Bozhenov2017-08-101-1/+1
| | | | | | | | | | | | | | | The original patch was an improvement to IR ValueTracking on non-negative integers. It has been checked in to trunk (D18777, r284022). But was disabled by default due to performance regressions. Perf impact has improved. The patch would be enabled by default. Reviewers: reames, hfinkel Differential Revision: https://reviews.llvm.org/D34101 Patch by: Olga Chupina <olga.chupina@intel.com> llvm-svn: 310582
* Fix r310304: Fix the lit testcases.Philip Pfaffe2017-08-103-5/+5
| | | | | | In opt, Polly passes are only available after -load. llvm-svn: 310581
* Revert r310489 and follow-up commits r310505, r310519, r310537 and r310549Alex Lorenz2017-08-104-46/+7
| | | | | | | | | | Commit r310489 caused 'openmp-offload.c' test failures on Darwin and other platforms: http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/39230/testReport/junit/Clang/Driver/openmp_offload_c/ The follow-up commits tried to fix the test, but the test is still failing. llvm-svn: 310580
* [mips][microMIPS] Extending size reduction pass with XOR16Zoran Jovanovic2017-08-102-5/+57
| | | | | | | | | | Author: milena.vujosevic.janicic Reviewers: sdardis The patch extends size reduction pass for MicroMIPS. XOR instruction is transformed into 16-bit instruction XOR16, if possible. Differential Revision: https://reviews.llvm.org/D34239 llvm-svn: 310579
* [clang-tidy] Fix an error in the doc.Haojian Wu2017-08-101-1/+2
| | | | llvm-svn: 310578
* [clang-tidy] add forwarders in the aliased checks from hicpp moduleHaojian Wu2017-08-1013-24/+48
| | | | | | | | | | | | | | | | Summary: Adds redirections notes and the actual redirections in the documentation for hicpp Patch by: Jonas Toth Reviewers: aaron.ballman, hokein, alexfh Reviewed By: aaron.ballman, hokein Subscribers: JDevlieghere, xazax.hun Differential Revision: https://reviews.llvm.org/D36355 llvm-svn: 310577
* [Lexer] Finding beginning of token with escaped new lineAlexander Kornienko2017-08-103-28/+101
| | | | | | | | | | | | | | | | | | | | Summary: Lexer::GetBeginningOfToken produced invalid location when backtracking across escaped new lines. This fixes PR26228 Reviewers: akyrtzi, alexfh, rsmith, doug.gregor Reviewed By: alexfh Subscribers: alexfh, cfe-commits Patch by Paweł Żukowski! Differential Revision: https://reviews.llvm.org/D30748 llvm-svn: 310576
* [AArch64] Assembler support for v8.3 RCpcSam Parker2017-08-106-1/+77
| | | | | | | | | | Added assembler and disassembler support for the new Release Consistent processor consistent instructions, introduced with ARM v8.3-A for AArch64. Differential Revision: https://reviews.llvm.org/D36522 llvm-svn: 310575
* [ARM][AArch64] ARMv8.3-A enablementSam Parker2017-08-1011-0/+44
| | | | | | | | | | | | | | | | | The beta ARMv8.3 ISA specifications have been released for AArch64 and AArch32, these can be found at: https://developer.arm.com/products/architecture/a-profile/exploration-tools An introduction to this architecture update can be found at: https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions This patch is the first in a series which will add ARM v8.3-A support in LLVM and Clang. It adds the necessary changes that create targets for both the ARM and AArch64 backends. Differential Revision: https://reviews.llvm.org/D36514 llvm-svn: 310561
* [clang-tidy] Fix a check-fixes lineGabor Horvath2017-08-101-1/+1
| | | | llvm-svn: 310560
* [clang-tidy] Minor documentation improvementGabor Horvath2017-08-102-1/+2
| | | | | | Patch by: Lilla Barancsuk llvm-svn: 310559
* [clang-tidy] Add missing doc in ↵Haojian Wu2017-08-102-0/+10
| | | | | | cppcoreguidelines-c-copy-assignment-signature check. llvm-svn: 310558
* [ELF] - Add a test for --gc-sections --undefined=foo combination.George Rimar2017-08-101-0/+10
| | | | | | | | | | | | | | GC code contains following logic uncovered by tests: for (StringRef S : Config->Undefined) MarkSymbol(Symtab->find(S)); As far I can tell we never had test for that before, patch fixes it. Differential revision: https://reviews.llvm.org/D36519 llvm-svn: 310556
* Add missing 'REQUIRES' lineTobias Grosser2017-08-101-0/+2
| | | | llvm-svn: 310555
* [ELF] - Linkerscript: disallow discarding COMMON.George Rimar2017-08-102-2/+9
| | | | | | | | | | | | This patch restricts following construction: /DISCARD/ : { *(COMMON) } Previously LLD would crash. Differential revision: https://reviews.llvm.org/D36468 llvm-svn: 310554
* [GPGPU] Make the ast_build available to block generatorTobias Grosser2017-08-103-0/+97
| | | | | | This is necessary for partial writes (as used by delicm) to work. llvm-svn: 310553
* [SelectionDAG] When scalarizing vselect, don't assert onElad Cohen2017-08-103-2/+123
| | | | | | | | | | | | | | | | | | | | | | | a legal cond operand. When scalarizing the result of a vselect, the legalizer currently expects to already have scalarized the operands. While this is true for the true/false operands (which have the same type as the result), it is not case for the condition operand. On X86 AVX512, v1i1 is legal - this leads to operations such as '< N x type> vselect < N x i1> < N x type> < N x type>' where < N x type > is illegal to hit an assertion during the scalarization. The handling is similar to r205625. This also exposes the fact that (v1i1 extract_subvector) should be legal and selectable on AVX512 - We do this by custom lowering to vector_extract_elt. This still leaves us in some cases with redundant dag nodes which will be combined in a separate soon to come patch. This fixes pr33349. Differential revision: https://reviews.llvm.org/D36511 llvm-svn: 310552
* [Polly][PM] Improve invalidation in the Scop-PipelinePhilip Pfaffe2017-08-105-21/+77
| | | | | | | | | | | | | | | | | | | | | Summary: During code generation for a Scop we modify the IR of a function. While this shouldn't affect a Scop in the formal sense, the implementation caches various information about the IR such as SCEV expressions for bounds or parameters. This cached information needs to be updated or invalidated. To this end, SPMUpdater allows passes to report when they've invalidated a Scop to the PassManager, which will then flush and recompute all Scops. This in turn invalidates all iterators, so references to Scops shouldn't be held. Reviewers: grosser, Meinersbur, bollu Reviewed By: grosser Subscribers: llvm-commits, pollydev Differential Revision: https://reviews.llvm.org/D36524 llvm-svn: 310551
* Revert part of r310296 to make it really NFC for instrumentation PGO.Dehao Chen2017-08-102-4/+6
| | | | | | | | | | | | | | Summary: Part of r310296 will disable PGOIndirectCallPromotion in ThinLTO backend if PGOOpt is None. However, as PGOOpt is not passed down to ThinLTO backend for instrumentation based PGO, that change would actually disable ICP entirely in ThinLTO backend, making it behave differently in instrumentation PGO mode. This change reverts that change, and only disable ICP there when it is SamplePGO. Reviewers: davidxl Reviewed By: davidxl Subscribers: sanjoy, mehdi_amini, eraman, llvm-commits Differential Revision: https://reviews.llvm.org/D36566 llvm-svn: 310550
* [OpenMP] Provide a default GPU arch that is supported byGheorghe-Teodor Bercea2017-08-102-3/+18
| | | | | | | | the underlying hardware. This fixes a bug triggered by diff: D29660 llvm-svn: 310549
* [Driver] Search compiler-rt paths in -print-file-name=Petr Hosek2017-08-103-4/+16
| | | | | | | | | | | This makes it possible to print the name of compiler-rt libraries by using simply clang -print-file-name=libclang_rt.${runtime}-${arch}.so same as other libraries, without having to know the details of the resource directory organization. Differential Revision: https://reviews.llvm.org/D35820 llvm-svn: 310548
* [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
OpenPOWER on IntegriCloud