- Jan 13, 2022
-
-
Luís Ferreira authored
Since Ret parameter is never meant to be nullptr, let's pass it by reference instead of a raw pointer. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D117046
-
Luís Ferreira authored
This patch adds support for type back referencing, allowing demangling of compressed mangled symbols with repetitive types. Signed-off-by:Luís Ferreira <contact@lsferreira.net> Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D111419
-
Luís Ferreira authored
This patch adds support for identifier back referencing allowing compressed mangled names by avoiding repetitiveness. Signed-off-by:Luís Ferreira <contact@lsferreira.net> Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D111417
-
Luís Ferreira authored
This patch implements simple demangling of two basic types to add minimal type functionality. This will be later used in function type parsing. After that being implemented we can add the rest of the types and test the result of the type name. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D111416
-
CJ Johnson authored
bugprone-stringview-nullptr was not initially written with tests for return statements. After landing the check, the thought crossed my mind to add such tests. After writing them, I realized they needed additional handling in the matchers. Differential Revision: https://reviews.llvm.org/D115121
-
Stanislav Gatev authored
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev. Reviewed-by: ymandel, xazax.hun Differential Revision: https://reviews.llvm.org/D117123
-
James Y Knight authored
This avoids spurious failures in some environemnts. Similar change to eafc64ed.
-
Konstantin Varlamov authored
This reverts commit 9e634b35.
-
Fangrui Song authored
and remove associated make<XXX> calls. My x86-64 `lld` is ~5KiB smaller.
-
Mehdi Amini authored
-
Richard authored
Sometimes a macro invocation will look like an argument list declaration. Improve the check to detect this situation and not try to modify the macro invocation. Thanks to Nathan James for the fix. - Ignore implicit typedefs (e.g. compiler builtins) - Improve lexing state machine to locate void argument tokens - Add additional return_t() macro tests - clang-format control in the test case file - remove braces around single statements per LLVM style guide Fixes #43791 Differential Revision: https://reviews.llvm.org/D116425
-
Fangrui Song authored
Switch to the D114180 approach which is simpler and allows gnuHashTab/hashTab to switch to unique_ptr.
-
Fangrui Song authored
-
Walter Erquinigo authored
-
Mehdi Amini authored
-
Kazu Hirata authored
This patch fixes: mlir/lib/Dialect/Arithmetic/Transforms/ExpandOps.cpp:161:52: error: 'static_assert' with no message is a C++17 extension [-Werror,-Wc++17-extensions]
-
Mehdi Amini authored
-
Mehdi Amini authored
Reviewed By: ftynse, nicolasvasilache, bondhugula Differential Revision: https://reviews.llvm.org/D117072
-
Craig Topper authored
Differential Revision: https://reviews.llvm.org/D117136
-
Sanjay Patel authored
We could use knownbits on both operands for even more folds (and there are already tests in place for that), but this is enough to recover the example from: https://github.com/llvm/llvm-project/issues/51934 (the tests are derived from the code in that example) I am assuming no noticeable compile-time impact from this because udiv/urem are rare opcodes. Differential Revision: https://reviews.llvm.org/D116616
-
River Riddle authored
There have been a few API pieces remaining to allow for a smooth transition for downstream users, but these have been up for a few months now. After this only the C API will have reference to "Identifier", but those will be reworked in a followup. The main updates are: * Identifier -> StringAttr * StringAttr::get requires the context as the first parameter - i.e. `Identifier::get("...", ctx)` -> `StringAttr::get(ctx, "...")` Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D116626 -
Christian Sigg authored
If any of the operands is NaN, return the operand instead of a new constant. When the rhs operand is a constant, the second arith.cmpf+select ops will be folded away. https://reviews.llvm.org/D117010 marks the two ops commutative, which will place the constant on the rhs. Reviewed By: herhut Differential Revision: https://reviews.llvm.org/D117011
-
Fangrui Song authored
db08df05 does not work because part.relrDyn is a unique_ptr and `reset` destroys the object which may still be referenced. This commit uses the D114180 approach. Also improve the test to check that there is no R_X86_64_RELATIVE.
-
Christian Sigg authored
Reviewed By: herhut Differential Revision: https://reviews.llvm.org/D117101
-
Thomas Raoux authored
Differential Revision: https://reviews.llvm.org/D116785
-
Sanjay Patel authored
-
Fangrui Song authored
-
Nico Weber authored
This reverts commit 253ce928. Breaks tests on Windows, see https://github.com/llvm/llvm-project/issues/52921#issuecomment-1011118896
-
Alex Bradbury authored
Agreed policy is that RISC-V extensions that have not yet been ratified should be marked as experimental, and enabling them requires the use of the -menable-experimental-extensions flag when using clang alongside the version number. These extensions have now been ratified, so this is no longer necessary, and the target feature names can be renamed to no longer be prefixed with "experimental-". Differential Revision: https://reviews.llvm.org/D117131
-
Fangrui Song authored
binutils ar does not support one-dash long options (they conflict with operation code and modifier flags). ``` % ar -help ar: invalid option -- 'e' ... % ar -version ar: invalid option -- 'e' ... % ar x --plugin=xx x.a # ok % ar x -plugin=xx x.a ar: two different operation options specified % ar -plugin=/usr/lib/gcc/x86_64-linux-gnu/10/liblto_plugin.so x x.a ar: x: No such file or directory ``` Drop one-dash long options to simplify code and match the usual practice for command line utilities. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D116977
-
Fangrui Song authored
-
Matt Arsenault authored
-
Matt Arsenault authored
Stop using the _term variants of the mov to save the initial exec value before the waterfall loop. This cannot be glued to the bottom of the block because we may need to spill the result register. Just use a regular mov, like the loops produced on the DAG path. Fixes some verification errors with regalloc fast.
-
Matt Arsenault authored
This was inserting the new G_CONSTANT after the use, and the later block scan would run off the end. Fix calling SkipPHIsAndLabels for no apparent reason.
-
Fangrui Song authored
Fix https://github.com/llvm/llvm-project/issues/53073 In case of a relocation error, GNU ld's link map includes the archive member extraction information but not output sections. Our -Map and --why-extract= are currently no-op in case of an error. This change makes the two options work. Reviewed By: ikudrin, peter.smith Differential Revision: https://reviews.llvm.org/D116838
-
Fangrui Song authored
to prepare for D116838, otherwise for linkerscript/discard-section-err.s, there will be a null pointer dereference in `part.relrDyn->getParent()->size` in `finalizeSynthetic(part.relrDyn.get())`.
-
Erich Keane authored
I'm attempting to debug an issue that I can only get to happen on godbolt, where the cpu-dispatch resolver for an out of line member function is generated with the wrong name, causing a link failure.
-
Arthur O'Dwyer authored
Fixes #52952. Differential Revision: https://reviews.llvm.org/D116991
-
Chia-hung Duan authored
1773ddda adds the dependency to ArithmeticDialect. Reviewed By: rdzhabarov, ftynse Differential Revision: https://reviews.llvm.org/D117127
-
Arthur Eubanks authored
Followup to D116964 where we only did this in the CGSCC inliner. Fixes leaks reported in D116964.
-