- Apr 18, 2020
-
-
Daniel Sanders authored
There's not really anything else that can be done with them. Fortunately, this dead code cleanup doesn't seem to trigger very often.
-
Daniel Sanders authored
This dead code deletion is part of the combine and the combine results should account for their locations.
-
Daniel Sanders authored
It was using the enum class name, like so: =DebugLocVerifyLevel::None - No verification Changed it to: =none - No verification -
Craig Topper authored
InstCombine should ensure these don't exist. I'm looking at making some changes to how we detect these patterns and not having to worry about these phis will help.
-
Lei Huang authored
Summary: This function keeps growing, refactor to use lambda. Reviewers: nemanjai, stefanp Subscribers: kbarton, shchenz, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78308
-
Raul Tambre authored
libstdc++ since version 7 when GNU extensions are enabled (e.g. -std=gnu++11) use it to avoid defining overloads using `__float128`. This fixes compiling with GNU extensions failing due to `__float128` being used. Discovered at https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4442#note_737136. Differential Revision: https://reviews.llvm.org/D78392
-
Bjorn Pettersson authored
Summary: Use a SmallSetVector instead of a SmallPtrSet when collecting and storing Roots. The iteration order for a SmallPtrSet is not deterministic, so in the past the order of items inserted in the WorkList inside walkBackwards has been non-deterministic. This patch intends to make the order of rewrites done in Float2Int deterministic by changing the container for the Roots set. The semantics result of the transformation should not be any different afaict. But at least naming of IR variables (when outputting the result as an ll file) should be more stable now. Reviewers: craig.topper, spatel, cameron.mcinally Reviewed By: spatel Subscribers: mgrang, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74534
-
Francesco Petrogalli authored
This reverts commit 17b1869b. It is an attempt to fix the failure reported at The patch differs from the original one reviwed at https://reviews.llvm.org/D77435 only for the use of the std::make_tuple in building the return value of `findAddrModeSVELoadStore`: - return {IsRegReg ? Opc_rr : Opc_ri, NewBase, NewOffset}; + return std::make_tuple(IsRegReg ? Opc_rr : Opc_ri, NewBase, the original patch submitted at https://github.com/llvm/llvm-project/commit/fc4e954ed5c0825cdfe3a590ff1904ef38bc47db was failing the following build: http://lab.llvm.org:8011/builders/clang-armv7-linux-build-cache/builds/29420/ with error: /home/buildslave/buildslave/clang-armv7-linux-build-cache/llvm/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp /home/buildslave/buildslave/clang-armv7-linux-build-cache/llvm/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp:1439:10: error: chosen constructor is explicit in copy-initialization return {IsRegReg ? Opc_rr : Opc_ri, NewBase, NewOffset}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/bin/../lib/gcc/arm-linux-gnueabihf/5.4.0/../../../../include/c++/5.4.0/tuple:479:19: note: explicit constructor declared here constexpr tuple(_UElements&&... __elements) ^ 1 error generated.
-
Francesco Petrogalli authored
This reverts commit fc4e954e. The commit reported the following failure: http://lab.llvm.org:8011/builders/clang-armv7-linux-build-cache/builds/29420 FAILED: lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ISelDAGToDAG.cpp.o /usr/bin/c++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/Target/AArch64 -I/home/buildslave/buildslave/clang-armv7-linux-build-cache/llvm/llvm/lib/Target/AArch64 -I/usr/include/libxml2 -Iinclude -I/home/buildslave/buildslave/clang-armv7-linux-build-cache/llvm/llvm/include -mthumb -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -fvisibility=hidden -fno-exceptions -fno-rtti -UNDEBUG -std=c++14 -MMD -MT lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ISelDAGToDAG.cpp.o -MF lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ISelDAGToDAG.cpp.o.d -o lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ISelDAGToDAG.cpp.o -c /home/buildslave/buildslave/clang-armv7-linux-build-cache/llvm/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp /home/buildslave/buildslave/clang-armv7-linux-build-cache/llvm/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp:1439:10: error: chosen constructor is explicit in copy-initialization return {IsRegReg ? Opc_rr : Opc_ri, NewBase, NewOffset}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/bin/../lib/gcc/arm-linux-gnueabihf/5.4.0/../../../../include/c++/5.4.0/tuple:479:19: note: explicit constructor declared here constexpr tuple(_UElements&&... __elements)
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D78255
-
Eli Friedman authored
We should link static plugins into libLLVM.so; they shouldn't depend on libLLVM.so. Fixes https://bugs.llvm.org/show_bug.cgi?id=45571 Differential Revision: https://reviews.llvm.org/D78332
-
Louis Dionne authored
This will allow refactoring how the locales are figured out more easily.
-
Stanislav Mekhanoshin authored
This simplifies the logic and allows to use it on GFX8. Differential Revision: https://reviews.llvm.org/D78150
-
Francesco Petrogalli authored
Reviewers: efriedma, sdesmalen, c-rhodes, ctetreau Reviewed By: c-rhodes Subscribers: tschuett, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77435
-
Francesco Petrogalli authored
Summary: This change is fixing an issue where the dagcombine incorrectly used an addressing mode with scaled offsets (indices), instead of unscaled offsets. Those addressing modes do not exist for `prfh` , `prfw` and `prfd`, hence we can reuse `prfb` because that has unscaled offsets, and because the pseudo-code in the XML spec suggests that the element size is not used for the amount of data that is prefetched by the instruction. FWIW, GCC also emits a `prfb` for these cases. Reviewers: sdesmalen, andwar, rengolin Reviewed By: sdesmalen Subscribers: tschuett, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78069
-
Adrian Prantl authored
This patch threads an lldb::DescriptionLevel through the typesystem to allow dumping the full Clang AST (level=verbose) of any lldb::Type in addition to the human-readable source description (default level=full). This type dumping interface is currently not exposed through the SBAPI. The application is to let lldb-test dump the clang AST of search results. I need this to test lazy type completion of clang types in subsequent patches. Differential Revision: https://reviews.llvm.org/D78329
-
Christopher Tetreault authored
Summary: Remove usages of asserting vector getters in Type in preparation for the VectorType refactor. The existence of these functions complicates the refactor while adding little value. Reviewers: craig.topper, sdesmalen, efriedma, RKSimon Reviewed By: efriedma Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77264
-
Erich Keane authored
I fixed the LLDB issue, so re-applying the patch. This reverts commit a4b88c04.
-
Craig Topper authored
Differential Revision: https://reviews.llvm.org/D78343
-
Benjamin Kramer authored
Avoids unused variable warnings in Release builds.
-
Craig Topper authored
There are also some adjustments to use MaybeAlign in here due to CallBase::getParamAlignment() being deprecated. It would be a little cleaner if getOrEnforceKnownAlignment was migrated to Align/MaybeAlign. Differential Revision: https://reviews.llvm.org/D78345
-
Sterling Augustine authored
This reverts commit 61ba1481. I'm reverting this because it breaks the lldb build with incomplete switch coverage warnings. I would fix it forward, but am not familiar enough with lldb to determine the correct fix. lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:3958:11: error: enumeration values 'DependentExtInt' and 'ExtInt' not handled in switch [-Werror,-Wswitch] switch (qual_type->getTypeClass()) { ^ lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:4633:11: error: enumeration values 'DependentExtInt' and 'ExtInt' not handled in switch [-Werror,-Wswitch] switch (qual_type->getTypeClass()) { ^ lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:4889:11: error: enumeration values 'DependentExtInt' and 'ExtInt' not handled in switch [-Werror,-Wswitch] switch (qual_type->getTypeClass()) {
-
Alex Brachet authored
Summary: Adds `write` for Linux and FDReader utility which should be useful for some stdio tests as well. Reviewers: sivachandra, PaulkaToast Reviewed By: sivachandra Subscribers: mgorny, tschuett, libc-commits Differential Revision: https://reviews.llvm.org/D78184
-
Craig Topper authored
There were extra changes that weren't supposed to be in there This reverts commit b91f78db.
-
Alex Brachet authored
Summary: It also re formats long lines in `add_gen_header` Reviewers: sivachandra Reviewed By: sivachandra Subscribers: mgorny, tschuett, libc-commits Differential Revision: https://reviews.llvm.org/D78349
-
Craig Topper authored
There are also some adjustments to use MaybeAlign in here due to CallBase::getParamAlignment() being deprecated. It would be cleaner if getOrEnforceKnownAlignment was migrated to Align/MaybeAlign. Differential Revision: https://reviews.llvm.org/D78345
-
Nikita Popov authored
This patch combines the "has" and "get" parts of the cache access. getCachedValueInfo() now both sets the BBLV return argument, and returns whether the value was found. Additionally, the management of the work stack is now integrated into getBlockValue(). If the value is not cached yet, we try to push to the stack (and return false, indicating that we need to solve first), or return overdefined in case of a cycle. These changes a) avoid a duplicate cache lookup for has & get and b) ensure that the logic is uniform everywhere. For this reason this change is also not quite NFC, because previously overdefined values from the cache, and overdefined values from a cycle received different treatment when it came to assumption intersection. Differential Revision: https://reviews.llvm.org/D76788
-
Nikita Popov authored
Move CapOperands next to AsmPrinterFlags, to reduce size of MachineInstr by 8 bytes.
-
Nikita Popov authored
PredicateInfo takes up a large amount of memory during IPSCCP with many functions. And a large part of that space seems to be going completely to waste here...
-
Louis Dionne authored
Instead of creating Lit features for all __config_site macros automatically, only do so for macros that generate features actually used in the test suite. This makes it easier to know which ones are supported by the test suite at a glance. Note that the `libcpp-abi-version-vN` is dropped altogether, but it wasn't used anywhere.
-
Petre-Ionut Tudor authored
Summary: Fixed wrong conditions for generating (S[LR]I X, Y, C2) from (or (and X, BvecC1), (lsl Y, C2)) and added ISel nodes to lower to S[LR]I. The optimisation is also enabled by default now. Subscribers: kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77387
-
Sjoerd Meijer authored
-
Stefan Pintilie authored
Add initial support for PC Relative addressing for global values that require GOT indirect addressing. This patch adds PCRelative support for global addresses that may not be known at link time and may require access through the GOT. Differential Revision: https://reviews.llvm.org/D76064
-
Siva Chandra Reddy authored
They seemed to fallback to the system libc and start depending on its accuracy.
-
- Apr 17, 2020
-
-
Fangrui Song authored
-
LemonBoy authored
Implemented a bunch of relocations found in binaries with medium/large code model and the Local-Exec TLS model. The binaries link and run fine in Qemu. In addition, the emulation `elf64_sparc` is now recognized. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D77672
-
Erich Keane authored
The CUDA backend (and other downstreams) have trouble with the tilde and arrow delimiter, so replace these with 'm' (for macro) and '_'. Since these are in the normal lambda ID location, the format of these should not conflict with anything else.
-
Fangrui Song authored
[Support][X86] Change getHostNumPhsicalCores() to return number of physical cores enabled by affinity Fixes https://bugs.llvm.org/show_bug.cgi?id=45556 While here, make the x86-64 code available for x86-32. The output has been available and stable since https://git.kernel.org/linus/3dd9d514846cdca1dcef2e4fce666d85e199e844 (2005) ``` processor: ... physical id: siblings: core id: ``` Don't check HAVE_SCHED_GETAFFINITY/HAVE_CPU_COUNT. The interface is simply available in every libc which can build LLVM. Reviewed By: aganea Differential Revision: https://reviews.llvm.org/D78324
-
Dominik Montada authored
Summary: Copy the legalization rules from SelectionDAG: -widenScalar using anyext -narrowScalar using intermediate merges -scalarize/fewerElements using unmerge -moreElements using G_IMPLICIT_DEF and insert Add G_FREEZE legalization actions to AMDGPULegalizerInfo. Use the same legalization actions as G_IMPLICIT_DEF. Depends on D77795. Reviewers: dsanders, arsenm, aqjune, aditya_nandakumar, t.p.northover, lebedev.ri, paquette, aemerson Reviewed By: arsenm Subscribers: kzhuravl, yaxunl, dstuttard, tpr, t-tye, jvesely, nhaehnle, kerbowa, wdng, rovka, hiraditya, volkan, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78092