- Jul 11, 2017
-
-
Chandler Carruth authored
querying for analysis results on a function declaration rather than a definition. The only reason this worked previously is by chance -- because the way we got alias analysis results with the legacy PM, we happened to not compute a dominator tree and so we happened to not hit an assert even though it didn't make any real sense. Now we bail out before trying to compute alias analysis so that we don't hit these asserts. llvm-svn: 307625
-
Hiroshi Inoue authored
In the POWER9 instruction scheduler, SchedWriteRes for the simple integer instructions are misconfigured to use that of (costly) DFU instructions. This results in surprisingly long instruction latency estimation and causes misbehavior in some optimizers such as if-conversion. Differential Revision: https://reviews.llvm.org/D34869 llvm-svn: 307624
-
Hiroshi Inoue authored
This patch reduces compilation time by avoiding redundant analysis while selecting instructions to create an immediate. If the instruction count required to create the input number without rotate is 2, we do not need further analysis to find a shorter instruction sequence with rotate; rotate + load constant cannot be done by 1 instruction (i.e. getInt64CountDirectnever return 0). This patch should not change functionality. Differential Revision: https://reviews.llvm.org/D34986 llvm-svn: 307623
-
Dylan McKay authored
llvm-svn: 307622
-
Craig Topper authored
llvm-svn: 307621
-
Dylan McKay authored
It will only ever contain one register. llvm-svn: 307620
-
Dylan McKay authored
llvm-svn: 307619
-
Dylan McKay authored
llvm-svn: 307617
-
NAKAMURA Takumi authored
llvm-svn: 307614
-
NAKAMURA Takumi authored
Revert r307581, "Avoid doing conservative phi checks in aliasSameBasePointerGEPs() if no phis have been visited yet." It broke stage2 tests in selfhosting. llvm-svn: 307613
-
Sam Clegg authored
Differential Revision: https://reviews.llvm.org/D35233 llvm-svn: 307612
-
Vedant Kumar authored
PR30735 reports an issue where llvm-cov hangs with a worker thread waiting on a condition, and the main thread waiting to join() the workers. While this doesn't appear to be a bug in llvm-cov or the ThreadPool implementation, it would be helpful to disable the use of threading in the llvm-cov tests where no test coverage is added. More context: https://bugs.llvm.org/show_bug.cgi?id=30735 llvm-svn: 307610
-
Vedant Kumar authored
When an output directory is specified, llvm-cov spawns some threads to speed up the process of writing out file reports. Add an option which allows users to control how many threads llvm-cov uses. A CommandGuide.rst update + test is included. llvm-svn: 307609
-
David Blaikie authored
This takes memory usage from 5.1GB to 970MB - it could go further by using a small size of 2 instead of the default of 4, but given the rather high cost of going over this limit by much, I figured a little slosh would be worth the ~130MB of memory usage. & this'll might not be such a big deal if we use a custom slab allocator for the DenseMaps here anyway While the vast majority (99.9%) of records use only 1 entry, the tuning parameter to SmallDenseMap is the the number of buckets, not the number of entries - so a small size of 1 wasn't useful, even for 1 element, it would tip over into allocating (much, 64 slots worth) more space - none of them ended up small. llvm-svn: 307608
-
Andrew Wilkins authored
Haiku uses GNU ld for linking, but is not captured in the conditional when setting LIB_NAMES. This causes a shared library with no symbols on Haiku. This patch simply adds a check for whether the CMake system name is Haiku in addition to the existing checks. Patch by Jérôme Duval. Differential Revision: https://reviews.llvm.org/D34998 llvm-svn: 307607
-
George Karpenkov authored
llvm-svn: 307605
-
Zachary Turner authored
This is part of the continuing effort to increase parity between LLD and MSVC PDBs. link still doesn't like our PDBs, so the most obvious thing to check was whether adding an empty publics stream would get it to do something else. It still fails in the same way but at least this removes one more variable from the equation. The next logical step would be to try creating an empty globals stream. Differential Revision: https://reviews.llvm.org/D35224 llvm-svn: 307598
-
Joel Jones authored
llvm-svn: 307597
-
- Jul 10, 2017
-
-
Vedant Kumar authored
This unit test constructed some profile records incorrectly. One of the records had a duplicate name: adding that record into the writer caused an error unrelated to what needed to be tested. Reported by David Blaikie! llvm-svn: 307596
-
Zachary Turner authored
Differential Revision: https://reviews.llvm.org/D35152 llvm-svn: 307590
-
Matthias Braun authored
Reverting as it breaks tramp3d-v4 in the llvm test-suite. I added some comments to https://reviews.llvm.org/D33345 about it. This reverts commit r307546. llvm-svn: 307589
-
Sam Clegg authored
Differential Revision: https://reviews.llvm.org/D35208 llvm-svn: 307588
-
Leo Li authored
Summary: As metioned in https://reviews.llvm.org/D34576, checkings in `collectConstantCandidates` can be replaced by using `llvm::canReplaceOperandWithVariable`. The only special case is that `collectConstantCandidates` return false for all `IntrinsicInst` but it is safe for us to collect constant candidates from `IntrinsicInst`. Reviewers: pirama, efriedma, srhines Reviewed By: efriedma Subscribers: llvm-commits, javed.absar Differential Revision: https://reviews.llvm.org/D34921 llvm-svn: 307587
-
Davide Italiano authored
llvm-svn: 307586
-
Sam Clegg authored
For each checked-in wasm file, make sure the there is corresponding .ll file that can be used to regenerate it if needed. Add test/Object/Inputs/trivial-object-test.wasm to match other formats and add some new wasm tests in test/Object. Differential Revision: https://reviews.llvm.org/D35213 llvm-svn: 307585
-
Nirav Dave authored
llvm-svn: 307583
-
Krzysztof Parzyszek authored
llvm-svn: 307582
-
Farhana Aleen authored
Reviewers: Daniel Berlin Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34478 llvm-svn: 307581
-
Krzysztof Parzyszek authored
llvm-svn: 307580
-
Dehao Chen authored
Summary: This speeds-up thin-link by ~47% for large programs. Reviewers: tejohnson Reviewed By: tejohnson Subscribers: sanjoy, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D35148 llvm-svn: 307578
-
Matt Arsenault authored
llvm-svn: 307576
-
Matt Arsenault authored
Immediates can be folded as long as the immediate is a vreg. Also undo commuting instructions if it didn't fold an immediate. llvm-svn: 307575
-
Matt Arsenault authored
An instruction that has an immediate operand can't reach this point. This is only called for a freshly shrunk instruction, which prevously couldn't have had a literal constant operand. This was also not conservative enough since it woudl also have had to filter other constant-like inputs like frame indexes. llvm-svn: 307574
-
Konstantin Zhuravlyov authored
SI is being tested by isa version in the first two if statements of the function. llvm-svn: 307573
-
George Karpenkov authored
Many of the test cases in the runtimes require LLVM's testing tools, to facilitate this working as expected we need to have all the test targets in the runtimes depend on all LLVM testing tools used in the runtimes. Differential Revision: https://reviews.llvm.org/D33048 llvm-svn: 307572
-
Zachary Turner authored
This was originally reverted because of two issues. 1) Printing ANSI color escape codes even when outputting to a file 2) Module name comparisons were failing when comparing a PDB generated on one machine to a PDB generated on another machine. I attempted to fix #2 by adding command line options which let you specify prefixes to strip from the beginning of embedded paths, which effectively lets us specify a path to "base" each PDB from and only compare the parts under the base. But this is tricky because PDB paths always use Windows path syntax, even when they are created on non-Windows hosts. A problem still existed when constructing the prefix to strip, where we were accidentally using a host-specific path separator instead of a Windows path separator. This resubmission fixes the issue on Linux (and I have verified that the test now passes on Linux). llvm-svn: 307571
-
George Karpenkov authored
Differential Revision: https://reviews.llvm.org/D35024 llvm-svn: 307569
-
George Karpenkov authored
Differential Revision: https://reviews.llvm.org/D35023 llvm-svn: 307568
-
Krzysztof Parzyszek authored
This fixes https://llvm.org/PR33718. llvm-svn: 307566
-
Sam Clegg authored
Summary: When implementing MCFillFragment, use the size of the fragment, rather than the size of the section. Patch by Dan Gohman Differential Revision: https://reviews.llvm.org/D35090 llvm-svn: 307565
-