- Oct 19, 2017
-
-
Vedant Kumar authored
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
-
Vedant Kumar authored
This is a simple code cleanup. It will facilitate moving LineCoverageIterator to libCoverage. llvm-svn: 316140
-
Justin Bogner authored
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
-
Justin Bogner authored
llvm-svn: 316138
-
Justin Bogner authored
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
-
Chandler Carruth authored
one place. llvm-svn: 316135
-
Justin Bogner authored
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
-
Justin Bogner authored
llvm-svn: 316133
-
Tony Tye authored
- 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
-
Sanjoy Das authored
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
-
- Oct 18, 2017
-
-
Eugene Zelenko authored
[Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). llvm-svn: 316128
-
Sam Clegg authored
llvm-svn: 316126
-
Dylan McKay authored
llvm-svn: 316124
-
Sam Clegg authored
This was causing execname-options.ll to fail on the wasm waterfall. Differential Revision: https://reviews.llvm.org/D39022 llvm-svn: 316123
-
Vedant Kumar authored
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
-
Vedant Kumar authored
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
-
Vedant Kumar authored
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
-
Sumanth Gundapaneni authored
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
-
Konstantin Zhuravlyov authored
- R600 Arch: Use Radeon HD XXXX Series - GCN Arch: Use GFXX Differential Revision: https://reviews.llvm.org/D39019 llvm-svn: 316100
-
Sumanth Gundapaneni authored
Differential Revision: https://reviews.llvm.org/D38850 llvm-svn: 316099
-
Krzysztof Parzyszek authored
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
-
Konstantin Zhuravlyov authored
Differential Revision: https://reviews.llvm.org/D38957 llvm-svn: 316097
-
Alex Bradbury authored
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
-
Justin Bogner authored
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
-
Justin Bogner authored
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
-
Justin Bogner authored
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
-
Andre Vieira authored
Differential Revision: https://reviews.llvm.org/D38347 llvm-svn: 316085
-
Simon Dardis authored
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
-
Nikolai Bozhenov authored
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
-
Simon Dardis authored
llvm-svn: 316081
-
Michael Zuckerman authored
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
-
NAKAMURA Takumi authored
llvm-svn: 316079
-
Dylan McKay authored
r315410 broke a number of things in the AVR backend, which are now fixed. llvm-svn: 316076
-
Michael Zuckerman authored
This patch adds accurate instructions cost. The formula presents two cases(stride 3 and stride 4) and calculates the cost according to the VF and stride. Reviewers: 1. delena 2. Farhana 3. zvi 4. dorit 5. Ayal Differential Revision: https://reviews.llvm.org/D38762 Change-Id: If4cfbd4ac0e63694e8144cb78c7fa34850647ff7 llvm-svn: 316072
-
Hiroshi Inoue authored
Helper functions to identify sign- and zero-extending machine instruction is introduced in rL315888. This patch makes PPCInstrInfo::optimizeCompareInstr use the helper functions. It simplifies the code and also makes possible more optimizations since the helper can do more analysis than the original check code; I observed about 5000 more compare instructions are eliminated while building LLVM. Also, this patch fixes a bug in helpers on ANDIo instruction handling due to the order of checks. This bug causes a failure in an existing test case for optimizeCompareInstr. Differential Revision: https://reviews.llvm.org/D38988 llvm-svn: 316071
-
Nikolai Bozhenov authored
Summary: When we have the following case: %cond = cmp iN %x, CmpConst %tr = trunc iN %x to iK %narrowsel = select i1 %cond, iK %t, iK C We could possibly match only min/max pattern after looking through cast. So it is more profitable if widened C constant will be equal CmpConst. That is why just set widened C constant equal to CmpConst, because there is a further check in this function that trunc CmpConst == C. Also description for lookTroughCast function was added. Reviewers: spatel Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38536 Patch by: Artur Gainullin <artur.gainullin@intel.com> llvm-svn: 316070
-
https://bugs.llvm.org/show_bug.cgi?id=34978Michael Zuckerman authored
Change-Id: I7f13d5bcb181be2860377df7b40e1579a8ad4add llvm-svn: 316067
-
Serguei Katkov authored
This is introduced in rL308711. Check for c library is incorrect here just because libc will be found always and it does not mean that iconv is presented. Thank to Andrew Krasny for narrowing down the root cause. Reviewers: ecbeckmann Reviewed By: ecbeckmann Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D38875 llvm-svn: 316064
-
Justin Bogner authored
Some AArch64 and AMDGPU tests have functions with hyphens in the names llvm-svn: 316063
-
Justin Bogner authored
I accidentally added an extra arg here, so this didn't work at all. llvm-svn: 316062
-