summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Revert r315992 because of a found miscompilation failureNikolai Bozhenov2017-10-192-43/+22
| | | | llvm-svn: 316164
* [X86] Replace custom scalar integer absolute matching with ISD::ABS lowering.Simon Pilgrim2017-10-192-41/+23
| | | | | | | | | | | | x86 has its own copy of integer absolute pattern matching to combine directly to a SUB+CMOV. This patch removes the x86 combine and adds custom lowering support for ISD::ABS instead, allowing us to use the DAGCombiner version. Additional test cases are already covered by iabs.ll (rL315706 and rL315711). Differential Revision: https://reviews.llvm.org/D38895 llvm-svn: 316162
* Fix MSVC signed/unsigned comparison warningSimon Pilgrim2017-10-191-1/+1
| | | | llvm-svn: 316161
* [X86] Add scalar (abs (abs x)) -> (abs x) combine test.Simon Pilgrim2017-10-191-0/+19
| | | | | | Before landing D38895 llvm-svn: 316160
* [RISCV] Prepare for the use of variable-sized register classesAlex Bradbury2017-10-198-220/+276
| | | | | | | | | | While parameterising by XLen, also take the opportunity to clean up the formatting of the RISCV .td files. This commit unifies the in-tree code with my patchset at <https://github.com/lowrisc/riscv-llvm>. llvm-svn: 316159
* Revert rL316156 due to failure on APFloatTest.fromToStringSpecialsMax Kazantsev2017-10-192-18/+2
| | | | llvm-svn: 316158
* Fix APFloat from string conversion for InfSerguei Katkov2017-10-192-2/+18
| | | | | | | | | | | | | | | | The method IEEEFloat::convertFromStringSpecials() does not recognize the "+Inf" and "-Inf" strings but these strings are printed for the double Infinities by the IEEEFloat::toString(). This patch adds the "+Inf" and "-Inf" strings to the list of recognized patterns in IEEEFloat::convertFromStringSpecials(). Reviewers: sberg, bogner, majnemer, timshen, rnk, skatkov, gottesmm, bkramer, scanon Reviewed By: skatkov Subscribers: apilipenko, reames, llvm-commits Differential Revision: https://reviews.llvm.org/D38030 llvm-svn: 316156
* [ARM GlobalISel] Fix liveins in test. NFCDiana Picus2017-10-191-2/+2
| | | | llvm-svn: 316155
* [ARM GlobalISel] Remove redundant testsDiana Picus2017-10-192-548/+0
| | | | | | | These test cases don't really add anything that isn't covered by other tests as well, so we can safely remove them. llvm-svn: 316154
* 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
* 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
* [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
* [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
* [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
* 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
* Fix lit.site.cfg.py.in after rL316123Sam Clegg2017-10-181-1/+1
| | | | llvm-svn: 316126
* [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
* [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
* [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
* update_mir_test_checks: Handle empty liveinsJustin Bogner2017-10-181-1/+1
| | | | | | | An empty livein block doesn't make much sense (why not just omit it?) but they're legal and some tests have them, so its best to handle it. llvm-svn: 316089
* update_mir_test_checks: Do a better job of disambiguating namesJustin Bogner2017-10-181-1/+4
| | | | | | | | | | Matching prefixes isn't good enough, because it leads to things like calling the first constant C3 just because there were two copies before it. Tighten up the check to match more precisely, but also be careful about ambiguity when dealing with target opcodes that end in a number. llvm-svn: 316088
* AArch64/GISel: Fix a couple of tests that were testing the wrong thingJustin Bogner2017-10-184-47/+65
| | | | | | | | Fix a couple of tests that were extending the wrong vreg, and regenerate their checks with update_mir_test_checks. This looks like it was a copy-paste or test update error. llvm-svn: 316087
* [ARM] Fix disassembly for conditional VMRS and VMSR instructions in ARM modeAndre Vieira2017-10-183-2/+93
| | | | | | Differential Revision: https://reviews.llvm.org/D38347 llvm-svn: 316085
* [mips] Fix analyzeBranch to handle debug dataSimon Dardis2017-10-182-1/+97
| | | | | | | | | | | | | | | | | | | | | In the case where there was a conditional branch followed by a unconditional branch with debug instruction separating them, MipsInstrInfo::analyzeBranch would not skip past debug instruction when searching for the second branch which give erroneous results about the control flow of the block. This could lead to the branch folder to merge the non-fall through case into it's predecessor, leaving the conditional branch with a dangling basic block operand. This resolves PR34975. Thanks to Alexander Richardson for reporting the issue! Reviewers: atanasyan Differential Revision: https://reviews.llvm.org/D39003 llvm-svn: 316084
* Fixup patch for revision rL316070.Nikolai Bozhenov2017-10-181-1/+2
| | | | | | | | | | | | | | Added check that type of CmpConst and source type of trunc are equal for correct matching of the case when we can set widened C constant equal to CmpConstant. %cond = cmp iN %x, CmpConst %tr = trunc iN %x to iK %narrowsel = select i1 %cond, iK %t, iK C Patch by: Gainullin, Artur <artur.gainullin@intel.com> llvm-svn: 316082
* [mips] Move test to correct directory. NFCISimon Dardis2017-10-181-0/+0
| | | | llvm-svn: 316081
* Adding new test forMichael Zuckerman2017-10-181-0/+15
| | | | | | | | | | bug fix 316067 https://bugs.llvm.org/show_bug.cgi?id=34978 This test checks that the x86-interleaved ends without any assertion. Change-Id: I1e970482a4d0404516cbc85517fc091bb21c35a8 llvm-svn: 316080
* Untabify.NAKAMURA Takumi2017-10-188-25/+25
| | | | llvm-svn: 316079
OpenPOWER on IntegriCloud