summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert 316150 which reinstated r316025.Vassil Vassilev2017-10-192-12/+2
| | | | | | It fails on some bots and now we know how to reproduce it. llvm-svn: 316153
* Fix a few nits in RenamingAction.Haojian Wu2017-10-191-2/+2
| | | | | | | * Add missing override keyword. * avoid unnecessary copy of std::string. llvm-svn: 316152
* Const fix for YAMLParser.Sam McCall2017-10-191-2/+4
| | | | llvm-svn: 316151
* Reinstate r316025, reverted in r316029.Vassil Vassilev2017-10-192-2/+12
| | | | | | | | | | | | | | | Original commit message: "[cmake] Use find_package to discover zlib This allows us to use standard cmake utilities to point to non-system zlib locations. Patch by Oksana Shadura and me (D39002)." The new patch brings back the old behavior in the cases where find_package cannot find zlib. llvm-svn: 316150
* [Headers] Fix typoed __ARM_DWARF_EH__ ifdefsMartin Storsjo2017-10-191-3/+3
| | | | | | These typos appeared in SVN r309226 and r309327. llvm-svn: 316149
* [COFF] Exclude certain static libraries and object files when exporting all ↵Martin Storsjo2017-10-192-39/+105
| | | | | | | | | | symbols This more or less matches what GNU ld does. Differential Revision: https://reviews.llvm.org/D38937 llvm-svn: 316148
* [Coverage] Simplify r316141. NFC.Vedant Kumar2017-10-192-44/+9
| | | | llvm-svn: 316147
* [NFC][IRCE] Filter out empty ranges earlyMax Kazantsev2017-10-191-4/+6
| | | | llvm-svn: 316146
* [MergeFunctions] Don't blindly RAUW a GlobalValue with a ConstantExpr.whitequark2017-10-192-0/+7
| | | | | | | | | | | | | | | | MergeFunctions uses (through FunctionComparator) a map of GlobalValues to identifiers because it needs to compare functions and globals do not have an inherent total order. Thus, FunctionComparator (through GlobalNumberState) has a ValueMap<GlobalValue *>. r315852 added a RAUW on globals that may have been previously encountered by the FunctionComparator, which would replace a GlobalValue * key with a ConstantExpr *, which is illegal. This commit adjusts that code path to remove the function being replaced from the ValueMap as well. llvm-svn: 316145
* Simplify.Rafael Espindola2017-10-191-2/+2
| | | | llvm-svn: 316144
* Fix buffer overflow.Rafael Espindola2017-10-193-1/+4
| | | | | | We were reading past the end of the buffer. llvm-svn: 316143
* [CMake] Allow parent projects to use in-source buildsChris Bieneman2017-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | LLVM checks if it is performing an in-source build and then stop the build. However, this check is also triggered if LLVM is being build as part of a parent project, which prevents the parent project itself from using in-source builds. For example, CMake allows a parent project to specify the output of its subproject: add_subdirectory(llvm llvm_build) This tells CMake to conduct an out-tree build of LLVM, which without this patch will still fails because what is being tested is the parent project, not LLVM. This is fixed by using the "CURRENT" variable, which is only concerned by the CMakeLists that is actually bein processed at the moment. Tests: Ran `make check-llvm`. Patch by Henrique Jung <henriquenj_AT_gmail_DOT_com> llvm-svn: 316142
* [llvm-cov] Move LineCoverageIterator to libCoverage. NFC.Vedant Kumar2017-10-185-142/+193
| | | | | | | | | | | | | LineCoverageIterator makes it easy for clients of coverage data to determine line execution counts for a file or function. The coverage iteration logic is tricky enough that it really pays not to have multiple copies of it. Hopefully having just one implementation in LLVM will make the iteration logic easier to test, reuse, and update. This commit is NFC but I've added a unit test to go along with it just because it's easy to do now. llvm-svn: 316141
* [llvm-cov] Use the coverage namespace. NFC.Vedant Kumar2017-10-186-22/+24
| | | | | | | This is a simple code cleanup. It will facilitate moving LineCoverageIterator to libCoverage. llvm-svn: 316140
* GISel: Canonicalize select tests using update_mir_test_checksJustin Bogner2017-10-1843-2349/+2519
| | | | | | | | This runs `udpate_mir_test_checks --add-vreg-checks` on the tests taht are already more or less in the format that generates, so that there will be less churn in some upcoming changes. llvm-svn: 316139
* AArch64/GISel: Modernize the localizer testJustin Bogner2017-10-181-259/+203
| | | | llvm-svn: 316138
* Canonicalize a large number of mir tests using update_mir_test_checksJustin Bogner2017-10-1852-1494/+1358
| | | | | | | | | | This converts a large and somewhat arbitrary set of tests to use update_mir_test_checks. I ran the script on all of the tests I expect to need to modify for an upcoming mir syntax change and kept the ones that obviously didn't change the tests in ways that might make it harder to understand. llvm-svn: 316137
* Don't suppress instantiation of definitions for variables subject to explicitRichard Smith2017-10-185-9/+31
| | | | | | | | | instantiation declarations if they are usable from constant expressions. We are permitted to instantiate in these cases, and required to do so in order to have an initializer available for use within constant evaluation. llvm-svn: 316136
* [PM] Refactor the bounds checking pass to remove a method only called inChandler Carruth2017-10-181-28/+25
| | | | | | one place. llvm-svn: 316135
* update_mir_test_checks: Support adding checks for vreg classesJustin Bogner2017-10-181-9/+24
| | | | | | | | | This is a temporary hack to support adding checks for the "registers:" block of mir functions. This is necessary to convert a number of tests so that there's less churn when we change the MIR printer to put the vreg classes on defs instead of in their own block. llvm-svn: 316134
* update_mir_test_checks: Improve message when updating failsJustin Bogner2017-10-181-2/+6
| | | | llvm-svn: 316133
* Fix capitalization of parameterErich Keane2017-10-181-1/+1
| | | | | | | The .cpp file has this properly capitalized, but the header does not. Simply fixed it. llvm-svn: 316132
* [AMDGPU] Corrections to memory model description.Tony Tye2017-10-181-174/+376
| | | | | | | | | | - Add description on nontemporal support. - Correct OpenCL sequentially consistent and fence code sequences. - Minor test cleanup. Differential Revision: https://reviews.llvm.org/D39073 llvm-svn: 316131
* [clang-format] Sort whole block of using declarations while partially formattingKrasimir Georgiev2017-10-182-3/+42
| | | | | | | | | | | | | | | | Summary: This patch enables sorting the full block of using declarations when some line is affected. Reviewers: djasper Reviewed By: djasper Subscribers: cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D39024 llvm-svn: 316130
* Revert "[ScalarEvolution] Handling for ICmp occuring in the evolution chain."Sanjoy Das2017-10-184-69/+5
| | | | | | | This reverts commit r316054. There was some confusion over the review process: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20171016/495884.html llvm-svn: 316129
* [Transforms] Fix some Clang-tidy modernize and Include What You Use ↵Eugene Zelenko2017-10-189-160/+281
| | | | | | warnings; other minor fixes (NFC). llvm-svn: 316128
* [Driver] Fix use after free in Hexagon toolchain code.Benjamin Kramer2017-10-181-3/+3
| | | | | | No functionality change intended. llvm-svn: 316127
* Fix lit.site.cfg.py.in after rL316123Sam Clegg2017-10-181-1/+1
| | | | llvm-svn: 316126
* Fix a think-o in the design of the stable_XXX sort tests; only shows up for ↵Marshall Clow2017-10-181-2/+2
| | | | | | test cases > 255 elements llvm-svn: 316125
* [AVR] Fix the select_mbb_placement_bug.ll testDylan McKay2017-10-181-3/+3
| | | | llvm-svn: 316124
* Don't set static-libs test feature when using LLVM_LINK_LLVM_DYLIBSam Clegg2017-10-183-3/+6
| | | | | | | | | This was causing execname-options.ll to fail on the wasm waterfall. Differential Revision: https://reviews.llvm.org/D39022 llvm-svn: 316123
* [llvm-cov] Suppress sub-line highlights in simple casesVedant Kumar2017-10-184-15/+7
| | | | | | | | | | llvm-cov tends to highlight too many regions because its policy is to highlight all region entry segments. This can look confusing to users: not all region entry segments are interesting and deserve highlighting. Emitting these highlights only when the region count differs from the line count is a more user-friendly policy. llvm-svn: 316109
* [llvm-cov] Pass LineCoverageStats in SourceCoverageView. NFC.Vedant Kumar2017-10-186-47/+45
| | | | | | | | | Instead of copying around the wrapped segment and the list of line segments, just pass a reference to a LineCoverageStats object. This simplifies the interface. It also makes an upcoming change to suppress distracting highlights possible. llvm-svn: 316108
* [llvm-cov] Highlight gaps in consecutive uncovered regionsVedant Kumar2017-10-183-3/+6
| | | | | | | llvm-cov typically doesn't highlight gap segments, but it should if the gap occurs after an uncovered region in order to preserve continuity. llvm-svn: 316107
* lldb-server tests: Fix undefined behaviorPavel Labath2017-10-181-2/+2
| | | | | | | We were creating a StringRef pointing to a temporary string. Problem manifested itself when running the test on osx. llvm-svn: 316106
* [refactor] Add a doc comment to the test function in the selectionAlex Lorenz2017-10-181-0/+5
| | | | | | | | unittest. As suggested by Haojian Wu! llvm-svn: 316105
* [refactor] selection: new CodeRangeASTSelection represents a set of selectedAlex Lorenz2017-10-183-7/+364
| | | | | | | | | | | consecutive statements This commit adds a CodeRangeASTSelection value to the refactoring library. This value represents a set of selected statements in one body of code. Differential Revision: https://reviews.llvm.org/D38835 llvm-svn: 316104
* [clang-proto-fuzzer] Use ToT protobuf-mutator.Matt Morehouse2017-10-181-1/+1
| | | | llvm-svn: 316103
* [Hexagon] Handling of new HVX flags and target-featuresSumanth Gundapaneni2017-10-1810-64/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch has the following changes A new flag "-mhvx-length={64B|128B}" is introduced to specify the length of the vector. Previously we have used "-mhvx-double" for 128 Bytes. This adds the target-feature "+hvx-length{64|128}b" The "-mhvx" flag must be provided on command line to enable HVX for Hexagon. If no -mhvx-length flag is specified, a default length is picked from the arch mentioned in this priority order from either -mhvx=vxx or -mcpu. For v60 and v62 the default length is 64 Byte. For unknown versions, the length is 128 Byte. The -mhvx flag adds the target-feature "+hvxv{hvx_version}" The 64 Byte mode is soon going to be deprecated. A warning is emitted if 64 Byte is enabled. A warning is still emitted for the default 64 Byte as well. This warning can be suppressed with a -Wno flag. The "-mhvx-double" and "-mno-hvx-double" flags are deprecated. A warning is emitted if the driver sees them on commandline. "-mhvx-double" is an alias to "-mhvx-length=128B" The compilation will error out if -mhvx-length is specified with out an -mhvx/-mhvx= flag The macro HVX_LENGTH is defined and is set to the length of the vector. Eg: #define HVX_LENGTH 64 The macro HVX_ARCH is defined and is set to the version of the HVX. Eg: #define HVX_ARCH 62 Differential Revision: https://reviews.llvm.org/D38852 llvm-svn: 316102
* [Hexagon] New HVX target features.Sumanth Gundapaneni2017-10-18110-217/+243
| | | | | | | | | | | | | | | | | | | | | | This patch lets the llvm tools handle the new HVX target features that are added by frontend (clang). The target-features are of the form "hvx-length64b" for 64 Byte HVX mode, "hvx-length128b" for 128 Byte mode HVX. "hvx-double" is an alias to "hvx-length128b" and is soon will be deprecated. The hvx version target feature is upgated form "+hvx" to "+hvxv{version_number}. Eg: "+hvxv62" For the correct HVX code generation, the user must use the following target features. For 64B mode: "+hvxv62" "+hvx-length64b" For 128B mode: "+hvxv62" "+hvx-length128b" Clang picks a default length if none is specified. If for some reason, no hvx-length is specified to llvm, the compilation will bail out. There is a corresponding clang patch. Differential Revision: https://reviews.llvm.org/D38851 llvm-svn: 316101
* AMDGPU/Docs: Make target naming consistentKonstantin Zhuravlyov2017-10-181-18/+17
| | | | | | | | | - R600 Arch: Use Radeon HD XXXX Series - GCN Arch: Use GFXX Differential Revision: https://reviews.llvm.org/D39019 llvm-svn: 316100
* [Hexagon] Update Hexagon ArchEnum and sync some downstream changes(NFC)Sumanth Gundapaneni2017-10-186-68/+76
| | | | | | Differential Revision: https://reviews.llvm.org/D38850 llvm-svn: 316099
* [Hexagon] Mark vector loads as predicable, update instruction mappingsKrzysztof Parzyszek2017-10-182-56/+154
| | | | | | | | All loads of form V6_vL32b_{,cur,nt,tmp,nt_cur,nt_tmp}_{ai,pi,ppu} are predicable on v62 (but not on v60). Mark them all as predicable in the instruction definitions, and handle the v60 case in HII::isPredicable. llvm-svn: 316098
* AMDGPU: Rename MaxFlatWorkgroupSize to MaxFlatWorkGroupSize for consistencyKonstantin Zhuravlyov2017-10-188-16/+16
| | | | | | Differential Revision: https://reviews.llvm.org/D38957 llvm-svn: 316097
* Enable support for the [[maybe_unused]] attribute from WG14 N2053 when ↵Aaron Ballman2017-10-184-2/+51
| | | | | | enabling double square bracket attributes in C code. llvm-svn: 316096
* Fix regex bug with ^\W. Thanks to Tim Shen for the patch. Reviewed as ↵Marshall Clow2017-10-182-12/+47
| | | | | | https://reviews.llvm.org/D37955 llvm-svn: 316095
* [clang-tidy] Fix 32bit platform MSVCJonas Toth2017-10-181-1/+1
| | | | | | | The previous fix only worked for 64bit MSVC, this one should fix all different architectures. llvm-svn: 316094
* [clang-tidy] Fix buildbot for msvcJonas Toth2017-10-181-1/+1
| | | | | | The testcase defined `FILE` as `unsigned long`, but MSVC expect `unsigned long long`. llvm-svn: 316093
* [clang-tidy] introduce legacy resource functions to ↵Jonas Toth2017-10-185-6/+377
| | | | | | | | | | | | | | | | | | | | | | | | | 'cppcoreguidelines-owning-memory' Summary: This patch introduces support for legacy C-style resource functions that must obey the 'owner<>' semantics. - added legacy creators like malloc,fopen,... - added legacy consumers like free,fclose,... This helps codes that mostly benefit from owner: Legacy, C-Style code that isn't feasable to port directly to RAII but needs a step in between to identify actual resource management and just using the resources. Reviewers: aaron.ballman, alexfh, hokein Reviewed By: aaron.ballman Subscribers: nemanjai, JDevlieghere, xazax.hun, kbarton Differential Revision: https://reviews.llvm.org/D38396 llvm-svn: 316092
* [RISCV] Bugfix createRISCVELFObjectWriterAlex Bradbury2017-10-182-1/+43
| | | | | | | r315275 set the IsLittleEndian parameter incorrectly. This patch corrects this, and adds a test to ensure such mistakes will be caught in the future. llvm-svn: 316091
OpenPOWER on IntegriCloud