- Jan 11, 2022
-
-
Haojian Wu authored
Reland 55d96ac3 and 37ec65e1 with a clang-tidy fix.
-
Hans Wennborg authored
and use that to simplify MD5's hex string code which was previously using a string stream, as well as Clang's CGDebugInfo::computeChecksum(). Differential revision: https://reviews.llvm.org/D116960
-
Nikita Popov authored
If the allocation is not captured, then all the stores before the ret are dead anyway.
-
Hans Wennborg authored
A lookup table, which toHex() was using, seems like the better approach. Having two implementations is redundant, so put the lookup table in hexdigit() and make toHex() call that. Differential revision: https://reviews.llvm.org/D116960
-
Simon Pilgrim authored
[SemaOverload] compareConversionFunctions - use castAs<> instead of getAs<> to avoid dereference of nullptr The pointer is dereferenced immediately below, so assert the cast is correct instead of returning nullptr
-
Simon Pilgrim authored
The pointer is always dereferenced inside BuildSimilarlyQualifiedPointerType, so assert the cast is correct instead of returning nullptr
-
Martin Storsjö authored
This reinstates a test that was temporarily removed in e26bbae3, in a form that works on Darwin. Use -LD instead of -link as a linker argument that is unused when compiling, that produces warnings normally. -LD can be placed anywhere in the command line, so that the command line ends with "-- %s", making paths starting with /U correctly interpreted as paths, not options.
-
Nikita Popov authored
-
Julian Gross authored
Changed the remaining appearances of alloc to memref.alloc in several documentation sections, since they lead to misunderstandings, if they are used. Differential Revision: https://reviews.llvm.org/D116999
-
wangpc authored
The code can only address the whole RV32 address space or the lower 2 GiB of the RV64 address space in small code model, so 32 bits entry is enough. Cache hit ratio and code size have some improvements. Reviewed By: asb Differential Revision: https://reviews.llvm.org/D116435
-
Diana Picus authored
Cover more of the code paths from LLVMTypeConverter::convertPointerLike and LLVMTypeConverter::convertSequenceType. Differential Revision: https://reviews.llvm.org/D116927
-
Sam McCall authored
This saves about 10% of SelectionVisitor::pop().
-
Florian Hahn authored
Use PtrToInt instead Add when creating temporary instructions. The add might get folded away with more sophisticated folding.
-
David Sherwood authored
I've changed the definition of the experimental.vector.splice instrinsic to reject indices that are known to be or possibly out-of-bounds. In practice, this means changing the definition so that the index is now only valid in the range [-VL, VL-1] where VL is the known minimum vector length. We use the vscale_range attribute to take the minimum vscale value into account so that we can permit more indices when the attribute is present. The splice intrinsic is currently only ever generated by the vectoriser, which will never attempt to splice vectors with out-of-bounds values. Changing the definition also makes things simpler for codegen since we can always assume that the index is valid. This patch was created in response to review comments on D115863 Differential Revision: https://reviews.llvm.org/D115933
-
Sam McCall authored
This seems to be strictly faster in all cases. Before fixing D116978 it was one of the hot paths, and may become one again.
-
Martin Storsjö authored
These tests were recently added in 50ec1306. The clang-cl invocations interpret the source path, %s, which begins with /Users, as a cl option /U. Normally this is worked around by passing -- before the arguments that must be interpreted as files, not options, but in the current test, the -link option must be passed last, after any file names.
-
Florian Hahn authored
This makes improvements in follow-up patches more obvious.
-
Diego Caballero authored
D115722 added a DL spec to GPU modules. It happens that the DL default interface implementation is sensitive to the name of the DL spec attribute. This patch is fixing the name of the attribute to be the expected one. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D116956
-
Nikita Popov authored
When calling emitArrayDestroy(), the pointer will usually have ConvertTypeForMem(EltType) as the element type, as one would expect. However, globals with initializers sometimes don't use the same types as values normally would, e.g. here the global uses { double, i32 } rather than %struct.T as element type. Add an early cast to the global destruction path to avoid this special case. The cast would happen lateron anyway, it only gets moved to an earlier point. Differential Revision: https://reviews.llvm.org/D116219 -
Zi Xuan Wu authored
Loading constants inline is expensive on CSKY and it's in general better to place the constant nearby in code space and then it can be loaded with a simple 16/32 bit load instruction like lrw. It needs lift or duplicates constant pool entry to make constant nearby so that lrw instruction can reach.
-
wangpc authored
When `Zbt` is enabled, we can generate SELECT for division by power of 2, so that there is no data dependency. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D114856
-
Martin Storsjö authored
[clang] Add --start-no-unused-arguments/--end-no-unused-arguments to silence some unused argument warnings When passing a set of flags to configure defaults for a specific target (similar to the cmake settings `CLANG_DEFAULT_RTLIB`, `CLANG_DEFAULT_UNWINDLIB`, `CLANG_DEFAULT_CXX_STDLIB` and `CLANG_DEFAULT_LINKER`, but without hardcoding them in the binary), some of the flags may cause warnings (e.g. `-stdlib=` when compiling C code). Allow requesting selectively ignoring unused arguments among some of the arguments on the command line, without needing to resort to `-Qunused-arguments` or `-Wno-unused-command-line-argument`. Fix up the existing diagnostics.c testcase. It was added in response to PR12181 to fix handling of `-Werror=unused-command-line-argument`, but the command line option in the test (`-fzyzzybalubah`) now triggers "error: unknown argument" instead of the intended warning. Change it into a linker input (`-lfoo`) which triggers the intended diagnostic. Extend the existing test case to check more cases and make sure that it keeps testing the intended case. Add testing of the new option to this existing test. Differential Revision: https://reviews.llvm.org/D116503
-
LLVM GN Syncbot authored
-
Konstantin Varlamov authored
Also implement `in_out_result` which is a prerequisite. Differential Revision: https://reviews.llvm.org/D116023
-
Esme-Yi authored
Summary: Since yaml2obj now supports converting AuxSymbols, we can use YAMLs as input for symbol-related tests of llvm-readobj instead of binaries. Reviewed By: jhenderson, shchenz Differential Revision: https://reviews.llvm.org/D114434
-
John Regehr authored
allow llvm-reduce, if asked, to run its set of passes more than once, taking longer to finish but also potentially resulting in a smaller reduced file.
-
Fangrui Song authored
to prepare for D116881.
-
Fangrui Song authored
Similar to D116143. My x86-64 `lld` is ~8KiB smaller. Reviewed By: keith Differential Revision: https://reviews.llvm.org/D116902
-
Fangrui Song authored
When `file->fetch(sym)` is replaced with a no-op, no test fails. The new test catches the case. Reviewed By: #lld-macho, oontvoo Differential Revision: https://reviews.llvm.org/D116916
-
Chenbing.Zheng authored
For vmsgeu.vi with 0, we know this is always true. So we can replace it with vmset.m (unmasked) or vmset.m+vmand.mm (masked). Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D116584
-
jacquesguan authored
Now the backend will select ~0 vl to a register and load instruction, we could use X0 to replace it. Differential Revision: https://reviews.llvm.org/D116798
-
jacquesguan authored
Precommit test for D116798 Differential Revision: https://reviews.llvm.org/D116799
-
Jim Lin authored
Follow the order of definitions in M68kInstrBits.td
-
Haocong.Lu authored
Now AND is used for zero extension when both Zbb and Zbp are not enabled. It may be better to use shift operation if the trailing ones mask exceeds simm12. This patch optimzes LUI+ADDI+AND to SLLI+SRLI. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D116720
-
Nick Desaulniers authored
-
Nick Desaulniers authored
Signed-off-by:Nick Desaulniers <ndesaulniers@google.com>
-
jacquesguan authored
When we want to create an splat vector that only the first element is initialized, we could use vmv.s.x or vfmv.s.f to build it. Differential Revision: https://reviews.llvm.org/D116277
-
Philip Reames authored
Two crashes have been reported. This change disables the new logic while leaving the new node in tree. Hopefully, that's enough to allow investigation without breakage while avoiding massive churn.
-
Philip Reames authored
-
Chuanqi Xu authored
The compiler would crash if we lookup for name in transparent decl context. See the tests attached for example. I think this should make sense since the member declared in transparent DeclContext are semantically defined in the enclosing (non-transparent) DeclContext, this is the definition for transparent DeclContext. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D116792
-