- Sep 20, 2017
-
-
Vedant Kumar authored
The coverage bot has been stable for a while: http://lab.llvm.org:8080/coverage/coverage-reports/index.html llvm-svn: 313769
-
Vedant Kumar authored
llvm-svn: 313768
-
Jake Ehrlich authored
I overzealously landed this before I was sure that another change wouldn't break the build that this change depends on. This change adds support for sections involved in dynamic loading such as SHT_DYNAMIC, SHT_DYNSYM, and allocated string tables. The two added binaries used for tests can be downloaded here and here Differential Revision: https://reviews.llvm.org/D36560 llvm-svn: 313767
-
Teresa Johnson authored
Summary: The fix for dead stripping analysis in the case of SamplePGO indirect calls to local functions (r313151) introduced the possibility of an infinite loop. Make sure we check for the value being already live after we update it for SamplePGO indirect call handling. Reviewers: danielcdh Subscribers: mehdi_amini, inglorion, llvm-commits, eraman Differential Revision: https://reviews.llvm.org/D38086 llvm-svn: 313766
-
Zachary Turner authored
Bug pointed out by EricWF. This would construct a path where items would be added in the wrong order, potentially leading to using the wrong tools for testing. llvm-svn: 313765
-
Zachary Turner authored
Despite a strong CMake warning that this is an unsupported libcxx build configuration, some bots still rely on being able to check out lit and libcxx independently with no LLVM sources, and then run lit against libcxx. A previous patch broke that workflow, so this is making it work again. Unfortunately, it breaks generation of the llvm-lit script for libcxx, but we will just have to live with that until a solution is found that allows libcxx to make more use of llvm build pieces. libcxx can still run tests by using the ninja check target, or by running lit.py directly against the build tree or source tree. Differential Revision: https://reviews.llvm.org/D38057 llvm-svn: 313763
-
David Blaikie authored
Remove unneeded attributes from test/DebugInfo/Generic/imported-name-inlined.ll because it was causing failures on pure MIPS builds. Patch by Miloš Stojanović! Differential Revision: https://reviews.llvm.org/D38079 llvm-svn: 313762
-
Simon Atanasyan authored
llvm-svn: 313761
-
Alexander Kornienko authored
The revision breaks buildbots: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/6694/steps/test/logs/stdio llvm-svn: 313758
-
Alexander Kornienko authored
llvm-svn: 313757
-
Simon Pilgrim authored
llvm-svn: 313755
-
Alexander Kornienko authored
llvm-svn: 313753
-
Florian Hahn authored
This version of the patch fixes an off-by-one error causing PR34596. We do not need to use std::next(BlockIter) when calling updateDepths, as BlockIter already points to the next element. Original commit message: > For large basic blocks with lots of combinable instructions, the > MachineTraceMetrics computations in MachineCombiner can dominate the compile > time, as computing the trace information is quadratic in the number of > instructions in a BB and it's relevant successors/predecessors. > In most cases, knowing the instruction depth should be enough to make > combination decisions. As we already iterate over all instructions in a basic > block, the instruction depth can be computed incrementally. This reduces the > cost of machine-combine drastically in cases where lots of instructions > are combined. The major drawback is that AFAIK, computing the critical path > length cannot be done incrementally. Therefore we only compute > instruction depths incrementally, for basic blocks with more > instructions than inc_threshold. The -machine-combiner-inc-threshold > option can be used to set the threshold and allows for easier > experimenting and checking if using incremental updates for all basic > blocks has any impact on the performance. > > Reviewers: sanjoy, Gerolf, MatzeB, efriedma, fhahn > > Reviewed By: fhahn > > Subscribers: kiranchandramohan, javed.absar, efriedma, llvm-commits > > Differential Revision: https://reviews.llvm.org/D36619 llvm-svn: 313751
-
George Rimar authored
It broke BB: http://lab.llvm.org:8011/builders/llvm-hexagon-elf/builds/9781 llvm-svn: 313748
-
George Rimar authored
Previously jaml2obj would segfault on empty document. (without yaml description). Patch fixes the issue. Differential revision: https://reviews.llvm.org/D38036 llvm-svn: 313746
-
Simon Pilgrim authored
llvm-svn: 313743
-
Mikael Holmen authored
These tests should have been included in r310697 / D34099 but apparently I missed them. llvm-svn: 313737
-
Mohammad Shahid authored
Summary: This patch tries to vectorize loads of consecutive memory accesses, accessed in non-consecutive or jumbled way. An earlier attempt was made with patch D26905 which was reverted back due to some basic issue with representing the 'use mask' of jumbled accesses. This patch fixes the mask representation by recording the 'use mask' in the usertree entry. Change-Id: I9fe7f5045f065d84c126fa307ef6ebe0787296df Reviewers: mkuper, loladiro, Ayal, zvi, danielcdh Reviewed By: Ayal Subscribers: mzolotukhin Differential Revision: https://reviews.llvm.org/D36130 Commit after rebase for patch D36130 Change-Id: I8add1c265455669ef288d880f870a9522c8c08ab llvm-svn: 313736
-
Andrew V. Tischenko authored
llvm-svn: 313735
-
Craig Topper authored
[X86] Remove isel checks for immediate size on floating point compare and xop compare instructions. NFCI If these checks fail we end up not selecting an instruction at all. So we are already relying on the immediate being checked upstream of isel. So doing the check in isel is just bloat to the isel table. Interestingly, we didn't check on the AVX512 version of the instructions anyway. llvm-svn: 313724
-
Stanislav Mekhanoshin authored
Delete inliner before replacing it. llvm-svn: 313723
-
Matt Arsenault authored
llvm-svn: 313719
-
Stanislav Mekhanoshin authored
llvm-svn: 313718
-
Matt Arsenault authored
Also starts selecting global loads for constant address in some cases. Some end up selecting to mubuf still, which requires investigation. We still get sub-optimal regalloc and extra waitcnts inserted due to not really tracking the liveness of the separate register halves. llvm-svn: 313716
-
NAKAMURA Takumi authored
DiagnosticInfoOptimizationBase: Appease g++-4.8.2 not confused to add an explicit type to resolve emit() as non-template function. llvm-svn: 313715
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D36849 llvm-svn: 313714
-
Matt Arsenault authored
Try to use a consistent naming scheme. llvm-svn: 313713
-
Matt Arsenault authored
llvm-svn: 313712
-
Sanjoy Das authored
Summary: With this change: - Methods in LoopBase trip an assert if the receiver has been invalidated - LoopBase::clear frees up the memory held the LoopBase instance This change also shuffles things around as necessary to work with this stricter invariant. Reviewers: chandlerc Subscribers: mehdi_amini, mcrosier, llvm-commits Differential Revision: https://reviews.llvm.org/D38055 llvm-svn: 313708
-
Mike Edwards authored
http://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-incremental/42594/ llvm-svn: 313706
-
Sanjoy Das authored
llvm-svn: 313705
-
Daniel Berlin authored
GVNSink: Make ModelledPHIs constructor linear (and avoid edge case it worries about) by avoiding getIncomingValueForBlock llvm-svn: 313702
-
Daniel Berlin authored
This reverts commit r312156, because now the op and block arrays are not in the same order :(. llvm-svn: 313701
-
Daniel Berlin authored
llvm-svn: 313700
-
Zachary Turner authored
Many svn-based buildbots seem to be getting stuck continually in tree conflicts due to the output of pyc files. I'm disabling these as a temporary measure in an attempt to get everything stable again. I'll try to remove this code once I understand the problem better. llvm-svn: 313698
-
Quentin Colombet authored
This re-applies commit r313685, this time with the proper updates to the test cases. Original commit message: Unreachable blocks in the machine instr representation are these weird empty blocks with no successors. The MIR printer used to not print empty lists of successors. However, the MIR parser now treats non-printed list of successors as "please guess it for me". As a result, the parser tries to guess the list of successors and given the block is empty, just assumes it falls through the next block (if any). For instance, the following test case used to fail the verifier. The MIR printer would print entry / \ true (def) false (no list of successors) | split.true (use) The MIR parser would understand this: entry / \ true (def) false | / <-- invalid edge split.true (use) Because of the invalid edge, we get the "def does not dominate all uses" error. The fix consists in printing empty successor lists, so that the parser knows what to do for unreachable blocks. rdar://problem/34022159 llvm-svn: 313696
-
Sanjoy Das authored
Summary: See comment for why I think this is a good idea. This change also: - Removes an SCEV test case. The SCEV test was not testing anything useful (most of it was `#if 0` ed out) and it would need to be updated to deal with a private ~Loop::Loop. - Updates the loop pass manager test case to deal with a private ~Loop::Loop. - Renames markAsRemoved to markAsErased to contrast with removeLoop, via the usual remove vs. erase idiom we already have for instructions and basic blocks. Reviewers: chandlerc Subscribers: mehdi_amini, mcrosier, llvm-commits Differential Revision: https://reviews.llvm.org/D37996 llvm-svn: 313695
-
Sam Clegg authored
Add adds support for naming data segments. This is useful useful linkers so that they can merge similar sections. Differential Revision: https://reviews.llvm.org/D37886 llvm-svn: 313692
-
Adam Nemet authored
In the lambda we are now returning the remark by value so we need to preserve its type in the insertion operator. This requires making the insertion operator generic. I've also converted a few cases to use the new API. It seems to work pretty well. See the LoopUnroller for a slightly more interesting case. llvm-svn: 313691
-
Vlad Tsyrklevich authored
This reverts commit r313688, it caused build failures for llvm-i686-linux-RA llvm-svn: 313689
-