- Aug 22, 2020
-
-
Roman Lebedev authored
Temporairly revert "[SimplifyCFG][LoopRotate] SimplifyCFG: disable common instruction hoisting by default, enable late in pipeline" As disscussed in post-commit review starting with https://reviews.llvm.org/D84108#2227365 while this appears to be mostly a win overall, especially code-size-wise, this appears to shake //certain// code pattens in a way that is extremely unfavorable for performance (+30% runtime regression) on certain CPU's (i personally can't reproduce). So until the behaviour is better understood, and a path forward is mapped, let's back this out for now. This reverts commit 1d51dc38.
-
Christopher Tetreault authored
test referenced a relative path to a file, but the path was not correct relative to the project the test is in Differential Revision: https://reviews.llvm.org/D86368
-
Jonas Devlieghere authored
The logic behind --rerun-all-issues was removed when we switched to LIT as the test driver. This patch just removes the dotest option and corresponding entry in configuration.py.
-
Nicolai Hähnle authored
TGParser::ParseValue contains two recursive calls, one to parse the RHS of a list paste operator and one to parse the RHS of a paste operator in a class/def name. Both of these calls neglect to check the return value to see if it is null (because of some error). This causes a crash in the next line of code, which uses the return value. The code now checks for null returns. Differential Revision: https://reviews.llvm.org/D85852
-
Paul C. Anagnostopoulos authored
This new TableGen Programmer's Reference document replaces the current Language Introduction and Language Reference documents. It brings all the TableGen reference information into one document. As an experiment, I numbered the sections in the document. See what you think about that. Reviewed By: lattner Differential Revision: https://reviews.llvm.org/D85838 (changes by Nicolai Hähnle <nicolai.haehnle@amd.com>: - fixed build error due to toctree in docs/LangRef/index.rst - fixed reference to ProgRef) Change-Id: Ifbdfa39768b8a460aae2873103d31c7b347aff00
-
Arthur Eubanks authored
The legacy PM alias analysis pipeline by default includes basic-aa. When running `opt -foo-pass` under the NPM and -disable-basic-aa is not specified, use basic-aa. This decreases the number of check-llvm failures under NPM from 913 to 752. Reviewed By: ychen, asbirlea Differential Revision: https://reviews.llvm.org/D86167
-
Nicolai Hähnle authored
The register class is required for inserting PHIs, but the "current virtual register" isn't actually used for anything, so let's remove it while we're at it. Differential Revision: https://reviews.llvm.org/D85602 Change-Id: I1e647f31570ef21a7ea8e20db3454178e98a6a8b
-
kuterd authored
- Adds a command line option to seed only selected functions. - Makes seed allow listing exclusive to assertions enabled builds. Reviewed By: sstefan1 Differential Revision: https://reviews.llvm.org/D86129
-
Alina Sbirlea authored
-
Jonas Devlieghere authored
Before e5d08fcb the Makefile would always compute the min-version, even if it wasn't set in the triple. This nuance got lost when passing the ARCH_CFLAGS directly from TestSimulatorPlatform.
-
Shinji Okumura authored
Currently, `AANoUndefImpl::initialize` mistakenly always indicates optimistic fixpoint for function returned position. This is because an associated value is `Function` in the case, and `isGuaranteedNotToBeUndefOrPoison` returns true for Function. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D86361
-
Amy Huang authored
When trying to enable -debug-info-kind=constructor there was an assert that occurs during debug info cloning ("mismatched subprogram between llvm.dbg.value variable and !dbg attachment"). It appears that during llvm::CloneFunctionInto, a DISubprogram could be duplicated when MapMetadata is called, and then added to the MD map again when DIFinder gets a list of subprograms. This results in two different versions of the DISubprogram. This patch switches the order so that the DIFinder subprograms are added before MapMetadata is called. Fixes https://bugs.llvm.org/show_bug.cgi?id=46784 Differential Revision: https://reviews.llvm.org/D86185 -
Craig Topper authored
[docs] Move the label for __builtin_shufflevector below __builtin_dump_struct so the see also link in 'vector operations' will go to the right place and have the right name.
-
Stanislav Mekhanoshin authored
This is the slowest operation in the already slow pass. Instead of sorting just put a stall list into an ordered map. Differential Revision: https://reviews.llvm.org/D86253
-
Vaibhav Garg authored
The original commit was reverted in 58c305f4 due to broken bots. This commit corrects the triple and command line paths.
-
Serguei Katkov authored
If some of gc live value are not used in gc.relocate we can remove them from gc-live bundle of statepoint instruction. Also the CL removes duplicated Values in gc-live bundle. Reviewers: reames, dantrushin Reviewed By: dantrushin Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D85959
-
Wolfgang Pieb authored
Reviewed By: andreadb, lebedev.ri Differential Revision: https://reviews.llvm.org/D86177 -
Fangrui Song authored
See http://lists.llvm.org/pipermail/llvm-dev/2017-June/113975.html for a related previous discussion. Many tools install signal handlers to print stack traces and optionally symbolize the addresses with an external program 'llvm-symbolizer' (when searching for 'llvm-symbolizer', the directory containg the executable is preferred over PATH). 'llvm-symbolizer' can be slow if the executable is large and/or if llvm-symbolizer' itself is under-optimized. For example, my 'llvm-lto2' from a -DCMAKE_BUILD_TYPE=Debug build is 443MiB. The 'llvm-symbolizer' from the same build takes ~2s to symbolize it. (An optimized 'llvm-symbolizer' takes 0.34s). A crashed clang may take more than 5s to symbolize a stack trace. If a test file has several `not --crash` RUN lines. It can be very slow in a Debug build. This patch makes `not --crash` set an environment variable to suppress symbolization. This is similar to D33804 which uses a command line option. ...
-
Stefan Pintilie authored
-
Jonas Devlieghere authored
Refuse to run the shell tests when %lldb cannot be substituted. This prevents the test from silently running again the `lldb` in your PATH. I noticed because when this happens, %lldb-init gets substituted with lldb-init, which does not exists.
-
Julian Lettner authored
-
Qiu Chaofan authored
This patch adds support for constrained scalar int to fp operations on PowerPC. Besides, this also fixes the FP exception bit of FCFID* instructions. Reviewed By: steven.zhang, uweigand Differential Revision: https://reviews.llvm.org/D81669
-
Aden Grue authored
Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D86326
-
Stefan Pintilie authored
The function `__tls_get_addr` is used to get the address of an object that is Thread Local Storage. It needs to have two relocations on it. One relocation is for the function call itself and it is either R_PPC64_REL24 or R_PPC64_REL24_NOTOC. The other is R_PPC64_TLSGD or R_PPC64_TLSLD for the symbol that is having its address computed. In the early days of the transition from the ELFv1 ABI that is used for big endian PowerPC Linux distributions to the ELFv2 ABI that is used for little endian PowerPC Linux distributions, there was some ambiguity in the specification of the relocations for TLS. The GNU linker has implemented support for correct handling of calls to __tls_get_addr with a missing relocation. Unfortunately, we didn't notice that the IBM XL compiler did not handle TLS according to the updated ABI until we tried linking XL compiled libraries with LLD. As a result, there is a lot of code out there in various libraries compiled with XL that have this problem. This patch adds a new error check in LLD that makes sure calls to `__tls_get_addr` are not missing the TLSGD/TLSLD relocation. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D85994
-
Thomas Raoux authored
Binding MemRefs of f16 needs special handling as the type is not supported on CPU. There was a bug in the type used. Differential Revision: https://reviews.llvm.org/D86328
-
Jonas Devlieghere authored
With the log file being a build artifact we don't need to clean it up. If this happens before the reproducer is captured, the file will be missing from the reproducer root but being part of the mapping.
-
Dan Gohman authored
-
Azharuddin Mohammed authored
This reverts commit bb54bcf8. It is causing the value-profile-load.test test to fail on macOS.
-
Serguei Katkov authored
The only def for gc.relocate is a gc.statepoint. But real dependency is not described by def-use chain. Instead this dependency is encoded by indecies of operands in gc-live bundle of statepoint as integer constants in gc.relocate. InstCombine operates by def-use chain. As a result when value in gc-live bundle is simplified the gc.statepoint itself is not simplified but it might simplify dependent gc.relocates. To trigger the optimization of gc.relocate we now unconditionally trigger check of all dependent gc.relocates by adding them to worklist. This CL handles of gc.relocates as process of gc.statepoint optimization considering gc.statepoint and related gc.relocate as whole entity. Reviewers: reames, dantrushin Reviewed By: reames Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D85954
-
Aaron Ballman authored
This reverts commit 7a527f17. It caused some buildbot failures: http://lab.llvm.org:8011/builders/clang-ppc64le-linux-multistage/builds/13600 http://lab.llvm.org:8011/builders/clang-cmake-armv7-quick/builds/20294
-
Azharuddin Mohammed authored
-
Jonas Devlieghere authored
-
Vaibhav Garg authored
This commit teaches ASTDeclReader::attachPreviousDecl to successfully merge two Decl's when one contains an inheritable attribute like the MSInheritanceAttr. Usually, attributes that are needed to be present along the redeclaration chain are attached during ASTReading from ASTDeclReader::attachPreviousDecl, but no such thing is done for inheritable attributes. Currently, only the logic for merging MSInheritanceAttr is provided.
-
-
- Aug 21, 2020
-
-
Florian Hahn authored
Currently ConstantExpr::getWithOperands does not handle FNeg and subsequently treats FNeg as binary operator, leading to an assertion failure or segmentation fault if built without assertions. Originally I reproduced this with llvm-dis on a bitcode file, which I unfortunately cannot share and also cannot really reduce. But PR45426 describes the same issue and has a reproducer with Clang, so I'll go with that. Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D86274
-
Kamau Bridgeman authored
This patch is the initial support for the Intial Exec Thread Local Local Storage model to produce code sequence and relocations correct to the ABI for the model when using PC relative memory operations. Reviewed By: stefanp Differential Revision: https://reviews.llvm.org/D81947
-
diggerlin authored
SUMMARY: Reviewers: Jason liu Differential Revision: https://reviews.llvm.org/D84265
-
Eduardo Caldas authored
Differential Revision: https://reviews.llvm.org/D86345
-
Raphael Isemann authored
This reverts commit a4c3ed42. The test is curiously failing with a plain exit code 1 on Fuchsia.
-
Florian Hahn authored
Recommit the patch after fixing an issue reported caused by the fact that re-used values are also added to InsertedValues. Additional tests have been added in 88818491 This reverts the revert commit 38884641.
-