summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...)Fangrui Song2018-09-27124-443/+395
| | | | | | | | | | | | Summary: The convenience wrapper in STLExtras is available since rL342102. Reviewers: dblaikie, javed.absar, JDevlieghere, andreadb Subscribers: MatzeB, sanjoy, arsenm, dschuff, mehdi_amini, sdardis, nemanjai, jvesely, nhaehnle, sbc100, jgravelle-google, eraman, aheejin, kbarton, JDevlieghere, javed.absar, gbedwell, jrtc27, mgrang, atanasyan, steven_wu, george.burgess.iv, dexonsmith, kristina, jsji, llvm-commits Differential Revision: https://reviews.llvm.org/D52573 llvm-svn: 343163
* Re-reapply r343129 with more fixes.Lang Hames2018-09-271-14/+15
| | | | | | Fixes order-of-operand-evaluation bugs in the ThreadSafeModule unit tests. llvm-svn: 343162
* Revert "Re-revert r343129."Lang Hames2018-09-273-8/+114
| | | | | | This reverts commit 4e2557dbc76704beb8c4cf1191cb786e719db5d3. llvm-svn: 343161
* [analyzer] [NFC] Move the code for dumping the program point to ProgramPointGeorge Karpenkov2018-09-273-179/+178
| | | | | | | | So we can dump them outside of viewing the exploded grpah. Differential Revision: https://reviews.llvm.org/D52583 llvm-svn: 343160
* [analyzer] [NFC] Heavy refactoring of trackNullOrUndefValueGeorge Karpenkov2018-09-272-121/+56
| | | | | | Differential Revision: https://reviews.llvm.org/D52519 llvm-svn: 343159
* [analyzer] [testing] Pass through an extra argument for specifying extra ↵George Karpenkov2018-09-271-16/+22
| | | | | | | | analyzer options Differential Revision: https://reviews.llvm.org/D52585 llvm-svn: 343158
* [WebAssembly] Update Config member to match command line optionSam Clegg2018-09-274-8/+8
| | | | | | | | Subscribers: dschuff, jgravelle-google, aheejin, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D50976 llvm-svn: 343157
* Revert "[WebAssembly] Update docs"Sam Clegg2018-09-272-84/+18
| | | | | | | | | | This change reverts rL343155. It broke the builtbot, even though it works for me locally: http://lab.llvm.org:8011/builders/lld-sphinx-docs/builds/26336 Must be a sphinx version issue I guess. llvm-svn: 343156
* [WebAssembly] Update docsSam Clegg2018-09-272-18/+84
| | | | | | Differential Revision: https://reviews.llvm.org/D52048 llvm-svn: 343155
* [WebAssembly] Fix MRI.hasOneNonDBGUse assert in WebAssemblyRegStackify pass Yury Delendik2018-09-261-2/+2
| | | | | | | | | | | | | | | | | Summary: The OneUseDominatesOtherUses in the WebAssemblyRegStackify not properly validates register use using hasOneUse. Since we added/modified DBG_VALUE the assert started catching valid cases. See also https://reviews.llvm.org/D49034#1247200 Fix verified by running the wasm waterfall. Reviewed By: dschuff Tags: #debug-info Differential Revision: https://reviews.llvm.org/D49034 llvm-svn: 343154
* [sanitizer] AndroidGetApiLevel for static executables.Evgeniy Stepanov2018-09-261-1/+14
| | | | | | | | | | A version of AndroidGetApiLevel for static executables that is completely compile-time. The generic version uses dl_iterate_phdr which, even though it works in static executables, crashes if called before libc is initialized. llvm-svn: 343153
* Remove trailing space in rC343150Fangrui Song2018-09-261-1/+1
| | | | llvm-svn: 343152
* Re-revert r343129.Lang Hames2018-09-263-114/+8
| | | | | | | Apparently the fixes in r343149 did not cover all the issues. Re-reverting while I investigate. llvm-svn: 343151
* Init LookupResult::AmbiguityKindVitaly Buka2018-09-261-1/+3
| | | | | | | | We don't expect useful value there unless it's "ambiguous". However we use read it for copying and moving, so we need either init the field add login to avoid reading invalid values. Such reads trigger ubsan errors. llvm-svn: 343150
* Reapply r343129 with fix.Lang Hames2018-09-263-8/+114
| | | | | | | | Explicitly defines ThreadSafeModule's move-assignment operator to move fields in reverse order. This is required to ensure that the context field outlives the module field. llvm-svn: 343149
* [DebugInfo] Generate debug information for labels.Hsiangkai Wang2018-09-265-0/+83
| | | | | | | | | | | | | | Generate DILabel metadata and call llvm.dbg.label after label statement to associate the metadata with the label. After fixing PR37395. After fixing problems in LiveDebugVariables. After fixing NULL symbol problems in AddressPool when enabling split-dwarf-file. Differential Revision: https://reviews.llvm.org/D45045 llvm-svn: 343148
* llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...)Fangrui Song2018-09-2634-89/+74
| | | | | | | | | | | | | | Summary: The convenience wrapper in STLExtras is available since rL342102. Reviewers: rsmith, #clang, dblaikie Reviewed By: rsmith, #clang Subscribers: mgrang, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D52576 llvm-svn: 343147
* [ELF] llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...)Fangrui Song2018-09-263-24/+19
| | | | | | | | | | | | Summary: The convenience wrapper in STLExtras is available since rL342102. Reviewers: ruiu, espindola Subscribers: emaste, arichardson, mgrang, llvm-commits Differential Revision: https://reviews.llvm.org/D52569 llvm-svn: 343146
* Allow later -z name=<int> args to override earlier argsRyan Prichard2018-09-262-1/+4
| | | | | | | | | | | | | | | | | | Summary: lld already gives later -z options precedence in getZFlag(). This matches the behavior of ld.bfd and ld.gold, where later options override earlier ones. (I tested with -z max-page-size and -z stack-size.) Reviewers: ruiu, espindola, grimar Reviewed By: ruiu, grimar Subscribers: grimar, emaste, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D52526 llvm-svn: 343145
* [AArch64] Fix range check of R_AARCH64_TLSLE_ADD_TPREL_HI12Ryan Prichard2018-09-262-2/+19
| | | | | | | | | | | | | | | | | | | | | | | Summary: An AArch64 LE relocation is a positive ("variant 1") offset. This relocation is used to write the upper 12 bits of a 24-bit offset into an add instruction: add x0, x0, :tprel_hi12:v1 The comment in the ARM docs for R_AARCH64_TLSLE_ADD_TPREL_HI12 is: "Set an ADD immediate field to bits [23:12] of X; check 0 <= X < 2^24." Reviewers: javed.absar, espindola, ruiu, peter.smith, zatrazz Reviewed By: ruiu Subscribers: emaste, arichardson, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D52525 llvm-svn: 343144
* [OpenMP] Add missing __kmpc_critical_with_hint to dllexportsJonathan Peyton2018-09-263-12/+8
| | | | | | | | | This patch puts the __kmpc_critical_with_hint function in dllexports and also replaces some OMP_45_ENABLED to OMP_50_ENABLED Differential Revision: https://reviews.llvm.org/D52380 llvm-svn: 343143
* [OpenMP] Fix balanced affinity so thread's private affinity mask is updatedJonathan Peyton2018-09-263-9/+7
| | | | | | | | | | | Balanced affinity only updated the thread's affinity with the operating system. This change also has the thread's private mask reflect that change as well so that any API that probes the thread's affinity mask will report the correct mask value. Differential Revision: https://reviews.llvm.org/D52379 llvm-svn: 343142
* Fix ProcessKDP after r343130Tatyana Krasnukha2018-09-261-2/+2
| | | | llvm-svn: 343141
* [InstCombine] add tests that show undef propagation failures from D52548; NFCSanjay Patel2018-09-261-0/+200
| | | | | | Differential Revision: https://reviews.llvm.org/D52556 llvm-svn: 343140
* [OpenMP] Update ittnotify sourcesJonathan Peyton2018-09-267-454/+1010
| | | | | | | | | This patch updates the ittnotify sources to the latest corresponding with Intel(R) VTune(TM) Amplifier 2018 Differential Revision: https://reviews.llvm.org/D52378 llvm-svn: 343139
* [OpenMP] Fix performance issue from 376.kdtreeJonathan Peyton2018-09-264-131/+153
| | | | | | | | | | | | | | This change improves the performance of 376.kdtree by giving the compiler an opportunity to do inlining and other optimizations for the call path, __kmpc_omp_task_complete_if0()->__kmp_task_finish(), which is one of the hot paths in the program; some functions in kmp_taskdeps.cpp were moved to the new header file, kmp_taskdeps.h to achieve this. Patch by Hansang Bae Differential Revision: https://reviews.llvm.org/D51889 llvm-svn: 343138
* [OpenMP][OMPT] A few improvementsJonathan Peyton2018-09-267-22/+38
| | | | | | | | | | | | | | This change includes miscellaneous improvements as follows: 1) Added ompt_get_proc_id() implementation for Windows 2) Added parser and print tool for omp-tool-var, just in case it needs to be printed (OMP_DISPLAY_ENV) 3) omp_control_tool is exported on Windows Patch by Hansang Bae Differential Revision: https://reviews.llvm.org/D50538 llvm-svn: 343137
* [asan] [windows] Don't use CheckFailed in dynamic runtime thunk modeMartin Storsjo2018-09-261-1/+1
| | | | | | | | | | Since SVN r342651, CheckFailed isn't exported from asan-dynamic. See comments in https://reviews.llvm.org/D52279#1246222 for a longer discussion on this issue. Differential Revision: https://reviews.llvm.org/D52566 llvm-svn: 343136
* [ELF][test] Use llvm-readelf's short option -r instead of -relocations and ↵Fangrui Song2018-09-269-31/+31
| | | | | | | | | | | | | | remove ignored --wide Reviewers: ruiu, sfertile, espindola Reviewed By: ruiu Subscribers: jsji, emaste, nemanjai, arichardson, kbarton, llvm-commits Differential Revision: https://reviews.llvm.org/D52124 llvm-svn: 343135
* Fix OSX build after r343130Tatyana Krasnukha2018-09-261-3/+3
| | | | llvm-svn: 343134
* Revert r343129 "[ORC] Change the field order of ThreadSafeModule to ensure the "Lang Hames2018-09-263-92/+8
| | | | | | It broke several bots. llvm-svn: 343133
* [LoopInterchange] Preserve LCSSA.Florian Hahn2018-09-265-76/+252
| | | | | | | | | | | | | | | | | | This patch extends LoopInterchange to move LCSSA to the right place after interchanging. This is required for LoopInterchange to become a function pass. An alternative to the manual moving of the PHIs, we could also re-form the LCSSA phis for a set of interchanged loops, but that's more expensive. Reviewers: efriedma, mcrosier, davide Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D52154 llvm-svn: 343132
* P1008R1 Classes with user-declared constructors are never aggregates inRichard Smith2018-09-266-7/+90
| | | | | | C++20. llvm-svn: 343131
* Replace "nullptr-terminated" C-arrays of OptionValueEnumeration with safer ↵Tatyana Krasnukha2018-09-2654-781/+782
| | | | | | | | llvm::ArrayRef Differential Revision: https://reviews.llvm.org/D49017 llvm-svn: 343130
* [ORC] Change the field order of ThreadSafeModule to ensure the Module isLang Hames2018-09-263-8/+92
| | | | | | | | | | | | destroyed before its ThreadSharedContext. Destroying the context first is an error if this ThreadSafeModule is the only owner of its underlying context. Add a unit test for ThreadSafeModule/ThreadSafeContext to catch this and other basic usage issues. llvm-svn: 343129
* [InstCombine] add tests for vector insert/extract; NFCSanjay Patel2018-09-261-0/+46
| | | | | | Preliminary step for D52439. llvm-svn: 343128
* [X86] Update tzcnt fast-isel tests to match clang r343126.Craig Topper2018-09-262-74/+22
| | | | | | We now generate cttz with the zero_undef flag set to false. This allows -O0 to avoid the zero check. llvm-svn: 343127
* [X86] For lzcnt/tzcnt intrinsics use cttz/ctlz intrinsics with zero_undef ↵Craig Topper2018-09-267-33/+43
| | | | | | | | | | | | flag set to false. Previously we used a select and the zero_undef=true intrinsic. In -O2 this pattern will get optimized to zero_undef=false. But in -O0 this optimization won't happen. This results in a compare and cmov being wrapped around a tzcnt/lzcnt instruction. By using the zero_undef=false intrinsic directly without the select, we can improve the -O0 codegen to just an lzcnt/tzcnt instruction. Differential Revision: https://reviews.llvm.org/D52392 llvm-svn: 343126
* AMDGPU/SI: Change predicate to isCIOnly for 32-bit imm s_buffer_load* patternsTom Stellard2018-09-261-1/+1
| | | | | | | | | | | | | | | | | | Summary: This is essentially NFC, because the complex pattern used for these patterns will fail on non-CI, but this makes the pattern consistent with other CI smrd patterns. It is also a performance improvement, because the pattern will now fail earlier on non-CI. Reviewers: arsenm, nhaehnle Reviewed By: arsenm Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D52469 llvm-svn: 343125
* [libLTO] Expose LLVMCreateDisasmCPUFeatures from libLTOSteven Wu2018-09-261-0/+1
| | | | | | | | The export file of libLTO should has all the interfaces declared in llvm-c/lto.h and llvm-c/Disassembler.h but LLVMCreateDisasmCPUFeatures is missing from the list. Export the C API to be consistant. llvm-svn: 343124
* [winasan] Pin the ASan DLL to prevent unloadingDavid Major2018-09-261-0/+8
| | | | | | Differential Revision: https://reviews.llvm.org/D52505 llvm-svn: 343123
* Reapply r343058 with a fix for -DLLVM_ENABLE_THREADS=OFF.Lang Hames2018-09-267-20/+187
| | | | | | | | | Modifies lit to add a 'thread_support' feature that can be used in lit test REQUIRES clauses. The thread_support flag is set if -DLLVM_ENABLE_THREADS=ON and unset if -DLLVM_ENABLE_THREADS=OFF. The lit flag is used to disable the multiple-compile-threads-basic.ll testcase when threading is disabled. llvm-svn: 343122
* [DAG] SelectionDAGLegalize::ExpandLegalINT_TO_FP - use getFPExtendOrRound ↵Simon Pilgrim2018-09-261-11/+1
| | | | | | | | helper. NFCI. Handles SrcVT == DstVT as well. llvm-svn: 343121
* [AArch64] Extend single-operand FP insns to match Arm ARM (NFCI)Oliver Stannard2018-09-261-6/+7
| | | | | | | | | | | | | | | | | | The Armv8.3-A reference manual defines floating-point data-processing instructions with one source operand to have an opcode of 6 bits [20:15]. The current class in tablegen, BaseSingleOperandFPData, only allows [18:15]. This was ok because [20:19] could only be '00', with other encodings unallocated. Armv8.5-A brings in the FRINT group of instructions which use other values for these bits. This patch refactors the existing class a bit to allow using the full 6 bits of the opcode, as defined in the Arm ARM. Patch by Pablo Barrio! Differential revision: https://reviews.llvm.org/D52474 llvm-svn: 343120
* [doc] Fix HowToManuallyUseTheIndividualPiecesOfPollyMichael Kruse2018-09-2639-1979/+2571
| | | | | | Also remove compiled binaries. llvm-svn: 343119
* Move www/experiments to docs/experimentsMichael Kruse2018-09-2631-0/+0
| | | | llvm-svn: 343118
* [clangd] Fix bugs with incorrect memory estimate reportKirill Bobyrev2018-09-263-11/+12
| | | | | | | | | | | | | | * With the current implementation, `sizeof(std::vector<Chunk>)` is added twice to the `Dex` memory estimate which is incorrect * `Dex` logs memory usage estimation before `BackingDataSize` is set and hence the log report excludes size of the external `SymbolSlab` which is coupled with `Dex` instance Reviewed By: ioeric Differential Revision: https://reviews.llvm.org/D52503 llvm-svn: 343117
* [docs] Update PostingList string representation formatKirill Bobyrev2018-09-261-3/+2
| | | | | | | | | | | | Because `PostingList` objects are compressed, it is now impossible to see elements other than the current one and the documentation doesn't match implementation anymore. Reviewed By: ioeric Differential Revision: https://reviews.llvm.org/D52545 llvm-svn: 343116
* lit: Make sure the builtin_commands directory is packaged by setup.pyTom Stellard2018-09-261-0/+1
| | | | | | | | | | | | Summary: This directory was missing from the lit package on pypi.org. Reviewers: ddunbar Subscribers: delcypher, llvm-commits Differential Revision: https://reviews.llvm.org/D51670 llvm-svn: 343115
* Revert r343112 as CallFrameString API change has broken lldb buildsLuke Cheeseman2018-09-2625-192/+75
| | | | llvm-svn: 343114
OpenPOWER on IntegriCloud