- Feb 16, 2020
-
-
Johannes Doerfert authored
-
Dimitry Andric authored
After b18cb9c4, clang would sometimes prefer the host C++ includes (e.g. in /usr/include/c++/v1) before those specified via --sysroot. While this behavior may be desirable on Linux, it is not so on FreeBSD, where we make extensive use of --sysroot during the build of the base system. In that case, clang must *not* search outside the sysroot, except for its own internal headers. Add an override addLibCxxIncludePaths() to restore the old behavior, which is to simply append /usr/include/c++/v1 to the specified sysroot. While here, apply clang-format to the FreeBSD specific toolchain files. Fixes PR44923.
-
Greg Clayton authored
[NFC] Move ValidTextRanges out of DwarfTransformer and into GsymCreator and unify address is not in GSYM errors so all strings match.
-
Johannes Doerfert authored
-
Eric Fiselier authored
libc++ is careful to not fracture overload sets. When one overload is visible to a user, all of them should be. Anything less causes subtle bugs and ODR violations. Previously, in order to support ::abs and ::div being supplied by both <cmath> and <cstdlib> we had to do awful things that make <math.h> and <stdlib.h> have header cycles and be non-modular. This really breaks with modules. Specifically the problem was that in C++ ::abs introduces overloads for floating point numbers, these overloads forward to ::fabs, which are defined in math.h. Therefore ::abs needed to be in math.h too. But this required stdlib.h to include math.h and math.h to include stdlib.h. To avoid these problems the definitions have been moved to stddef.h (which math includes), and the floating point overloads of ::abs have been changed to call __builtin_fabs, which both Clang and GCC support.
-
Eric Fiselier authored
graph.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Split off shuffle combine tests that use AVX512F intrinsics, so we can test it with/without AVX512BW support.
-
Fangrui Song authored
-
Florian Hahn authored
Currently we always return true, when markConstantRange is used on an object already containing a constant range. If NewR is equal to the existing constant range however, nothing changes and we should return false. I also went ahead and added a clarifying comment and improved the assertion. Reviewers: efriedma, davide, nikic Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D73240
-
Craig Topper authored
-
Craig Topper authored
-
Simon Pilgrim authored
Refactors matchShuffleAsBitRotate to allow use by both lowerShuffleAsBitRotate and matchUnaryPermuteShuffle.
-
Florian Hahn authored
This patch prepares ValueLatticeElement to be used by SCCP, by: * making the mark* functions public * make the mark* functions return a bool indicating if the value has changed. Reviewers: efriedma, davide, mssimpso, nikic Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D60581
-
Simon Pilgrim authored
-
Craig Topper authored
This allows it to work properly with masked inc/dec for avx512. Those would have a vselect as the root node so didn't get a chance to call combineIncDecVector. This also simplifies the logic because we don't have to manage the topological ordering.
-
Florian Hahn authored
This includes a fix for cases where things get marked as overdefined in ResolvedUndefsIn, but we later discover a constant. To avoid crashing, we consistently bail out on overdefined values in the visitors. This is similar to the previous behavior with forcedconstant. This reverts the revert commit 02b72f56.
-
Fangrui Song authored
So far, all non-COFF-related Emit* functions have been de-capitalized.
-
Simon Pilgrim authored
Reported by @lbenes (Luke Benes)
-
- Feb 15, 2020
-
-
Georgii Rymar authored
I was reported that with commit: https://github.com/llvm/llvm-project/commit/d3963051c490 gcc-9.2 is giving the warning below. This should help (I have no gcc 9.2 to test). [ 57%] Building CXX object tools/obj2yaml/CMakeFiles/obj2yaml.dir/elf2yaml.cpp.o /llvm/tools/obj2yaml/elf2yaml.cpp: In instantiation of ‘llvm::Expected<llvm::ELFYAML::Object*> {anonymous}::ELFDumper<ELFT>::dump() [with ELFT = llvm::object::ELFType<llvm::support::little, false>]’: /llvm/tools/obj2yaml/elf2yaml.cpp:1218:31: required from ‘llvm::Error elf2yaml(llvm::raw_ostream&, const llvm::object::ELFFile<ELFT>&) [with ELFT = llvm::object::ELFType<llvm::support::little, false>]’ /llvm/tools/obj2yaml/elf2yaml.cpp:1231:47: required from here /llvm/tools/obj2yaml/elf2yaml.cpp:207:41: warning: comparison of integer expressions of different signedness: ‘llvm::support::detail::packed_endian_specific_integral<unsigned int, llvm::support::little, 1>::value_type’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 207 | if (!SymTab || SymTabShndx->sh_link != SymTab - Sections.begin()) /llvm/tools/obj2yaml/elf2yaml.cpp: In instantiation of ‘llvm::Expected<llvm::ELFYAML::Object*> {anonymous}::ELFDumper<ELFT>::dump() [with ELFT = llvm::object::ELFType<llvm::support::big, false>]’: ...
-
Alexandre Ganea authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
As noted on D74621, the bswap intrinsic has a self imposed limitation that the type's bitwidth must be divisible by 16, but there's no reason that APInt::byteSwap must have the same limitation, given that it can already handle any byte width.
-
Pavel Iliin authored
This commit fixes the broken tests after commit b6a9fe20 on the expensive check builder: http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-ubuntu/builds/2884
-
Simon Pilgrim authored
We can just byteSwap the entire uint64_t VAL and then shift down into place like we do for the multi-word case.
-
Simon Pilgrim authored
rGf0181cc7 added specific tests up to i64, this adds a general loop to test some basic byte moves for larger APInts.
-
David Green authored
This hopefully fixes up the expensive checks bot.
-
Nico Weber authored
-
Alexey Lapshin authored
Summary: This patch is extracted from D74308. It patches all usages of WithColor::error() and WithColor::warning in DebugInfoDWARF library. Depends on D74481 Reviewers: jhenderson, dblaikie, probinson, aprantl, JDevlieghere Reviewed By: JDevlieghere Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74635
-
Richard Smith authored
deduction.
-
Richard Smith authored
-
serge-sans-paille authored
As suggested in https://github.com/llvm/llvm-project/issues/120, don't try to generate the extension file from clang, only do the linking step. Fixes the regression introduced in D74464 when running cmake inside the clang directory. Differential Revision: https://reviews.llvm.org/D74602
-
Alexey Lapshin authored
Summary: this review is extracted from D74308. It creates two error handlers which allow to redefine error reporting routine and should be used for all places where errors are reported: std::function<void(Error)> RecoverableErrorHandler = defaultErrorHandler; std::function<void(Error)> WarningHandler = defaultWarningHandler; It also creates accessors to above handlers which should be used to report errors. function_ref<void(Error)> getRecoverableErrorHandler() { return RecoverableErrorHandler; } function_ref<void(Error)> getWarningHandler() { return WarningHandler; } It patches all error reporting places inside DWARFContext and DWARLinker. Reviewers: jhenderson, dblaikie, probinson, aprantl, JDevlieghere Reviewed By: jhenderson, JDevlieghere Subscribers: hiraditya, llvm-commits Tags: #llvm, #debug-info Differential Revision: https://reviews.llvm.org/D74481 -
Johannes Doerfert authored
In addition to a single bit per memory locations, e.g., globals and arguments, we now collect more information about the actual accesses, e.g., what instruction caused it, was it a read/write/read+write, and what the underlying base pointer was. Follow up patches will make explicit use of this. Reviewed By: uenoku Differential Revision: https://reviews.llvm.org/D73527
-
Johannes Doerfert authored
In b91c2673 I accidentally introduced fixes that were not necessary after 1a93285c. All but the `llvm_unreachable` are reverted again.
-
Johannes Doerfert authored
-
Johannes Doerfert authored
-
Johannes Doerfert authored
-
Fady Ghanim authored
Add support for Master and Critical directive in the OMPIRBuilder. Both make use of a new common interface for emitting inlined OMP regions called `emitInlinedRegion` which was added in this patch as well. Also this patch modifies clang to use the new directives when `-fopenmp-enable-irbuilder` commandline option is passed. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D72304
-