- Oct 07, 2020
-
-
Simon Pilgrim authored
Prep work before some cleanup in narrowMaskedBinOp
-
Ronak Chauhan authored
The diff file was added by mistake.
-
Douglas Yung authored
This should fix the failure on http://lab.llvm.org:8011/#/builders/91/builds/30
-
Haojian Wu authored
If the NewName is provided, prepareRename would perform a name validation. The motivation is to allow our internal embeder implement the customized "canRenameInto" functionality on top of prepareRename. Differential Revision: https://reviews.llvm.org/D88881
-
Philip Reames authored
I made exactly the mistake described, so document the precondition. It would be better to have an assert, but there is (currently) no "castIsValid" with purely type arguments.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Add some missing CHECK-LABEL lines. Remove leading '@' so it'll be possible to match against c and c++ builds in a future patch.
-
Amara Emerson authored
[mlir] Fix build after 322d0afd due to change in intrinsic overloads. I'd forgottent to run the mlir tests after removing the scalar input overload on the fadd/fmul reductions. This is a quick fix for the mlir bot.
-
Stanislav Mekhanoshin authored
This is still no-op because there is no selection for these opcodes. Differential Revision: https://reviews.llvm.org/D88927
-
Edd Dawson authored
... instead of the one on the $PATH. Reviewed By: hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D88986
-
Florian Hahn authored
Currently LAA uses getScalarSizeInBits to compute the size of an element when computing the end bound of an access. This does not work as expected for pointers to pointers, because getScalarSizeInBits will return 0 for pointer types. By using DataLayout to get the size of the element we can also correctly handle pointer element types. Note the changes to the existing test, which seems to also use the wrong offset for the end. Fixes PR47751. Reviewed By: anemet Differential Revision: https://reviews.llvm.org/D88953
-
Stanislav Mekhanoshin authored
This is no-op so far because we do not select these yet. Differential Revision: https://reviews.llvm.org/D88920
-
Amara Emerson authored
The STRICT was causing unnecessary confusion. I think SEQ is a more accurate name for what they actually do, and the other obvious option of "ORDERED" has the issue of already having a meaning in FP contexts. Differential Revision: https://reviews.llvm.org/D88791
-
Sam McCall authored
Up until now, we relied on matching the filename. This depends on unstable details of libstdc++ and doesn't work well on other stdlibs. Also we'd like to remove it (see D88204). Differential Revision: https://reviews.llvm.org/D88885
-
Amara Emerson authored
This change renames the intrinsics to not have "experimental" in the name. The autoupgrader will handle legacy intrinsics. Relevant ML thread: http://lists.llvm.org/pipermail/llvm-dev/2020-April/140729.html Differential Revision: https://reviews.llvm.org/D88787
-
Fanbo Meng authored
-
Stella Laurenzo authored
* New functions: mlirOperationSetAttributeByName, mlirOperationRemoveAttributeByName * Also adds some *IsNull checks and standardizes the rest to use "static inline" form, which makes them all non-opaque and not part of the ABI (which is desirable). * Changes needed to resolve TODOs in npcomp PyTorch capture. Differential Revision: https://reviews.llvm.org/D88946
-
Heejin Ahn authored
Renaming for some Emscripten EH functions has so far been done in wasm-emscripten-finalize tool in Binaryen. But recently we decided to make a compilation/linking path that does not rely on wasm-emscripten-finalize for modifications, so here we move that functionality to LLVM. Invoke wrappers are generated in LowerEmscriptenEHSjLj pass, but final wasm types are not available in the IR pass, we need to rename them at the end of the pipeline. This patch also removes uses of `emscripten_longjmp_jmpbuf` in LowerEmscriptenEHSjLj pass, replacing that with `emscripten_longjmp`. `emscripten_longjmp_jmpbuf` is lowered to `emscripten_longjmp`, but previously we generated calls to `emscripten_longjmp_jmpbuf` in LowerEmscriptenEHSjLj pass because it takes `jmp_buf*` instead of `i32`. But we were able use `ptrtoint` to make it use `emscripten_longjmp` directly here. Addresses: https://github.com/WebAssembly/binaryen/issues/3043 https://github.com/WebAssembly/binaryen/issues/3081 Companions: https://github.com/WebAssembly/binaryen/pull/3191 https://github.com/emscripten-core/emscripten/pull/12399 Reviewed By: dschuff, tlively, sbc100 Differential Revision: https://reviews.llvm.org/D88697
-
Daniel Sanders authored
(Based on D87170 by dsanders) I recently had need to call out to an external API to emit a JSON object as part of one an LLVM tool was emitting. However, our JSON support didn't provide a way to delegate part of the JSON output to that API. Add rawValueBegin() and rawValueEnd() to maintain and check the internal state while something else is writing to the stream. It's the users responsibility to ensure that the resulting JSON output is still valid. Differential Revision: https://reviews.llvm.org/D88902
-
Sam McCall authored
This reverts commit 281703e6. GCC 5.4 bugs are worked around by avoiding use of variable templates. Differential Revision: https://reviews.llvm.org/D88977
-
Alex Richardson authored
While debugging a different clang-format failure, I tried to reuse the MacroExpander lexer, but was surprised to see that it marks all C++ keywords (e.g. const, decltype) as being of type identifier. After stepping through the ::format() code, I noticed that the difference between these two is that the identifier table was not being initialized based on the FormatStyle, so only basic tokens such as tok::semi, tok::plus, etc. were being handled. Reviewed By: klimek Differential Revision: https://reviews.llvm.org/D88952
-
Alex Richardson authored
This improves the debugging experience since LLDB will print the enumerator name instead of a decimal number. This changes TokenType to have uint8_t as the underlying type and moves it after the remaining bitfields to avoid increasing the size of FormatToken. Reviewed By: MyDeveloperDay Differential Revision: https://reviews.llvm.org/D87006
-
Nikita Popov authored
For cases where the destination is captured.
-
Roman Lebedev authored
-
Philip Reames authored
-
LLVM GN Syncbot authored
-
Yonghong Song authored
Add an IR phase right before main module optimization. This is to modify IR to restrict certain downward optimizations in order to generate verifier friendly code. > prevent certain instcombine optimizations, handling both in-block/cross-block instcombines. > avoid speculative code motion if the variable used in condition is also used in the later blocks. Internally, a bpf IR builtin result = __builtin_bpf_passthrough(seq_num, result) is used to enforce ordering. This builtin is only used during target independent IR optimizations and it will be removed at the beginning of target dependent IR optimizations. For example, removing the following workaround, --- a/tools/testing/selftests/bpf/progs/test_sysctl_loop1.c +++ b/tools/testing/selftests/bpf/progs/test_sysctl_loop1.c @@ -47,7 +47,7 @@ int sysctl_tcp_mem(struct bpf_sysctl *ctx) /* a workaround to prevent compiler from generating * codes verifier cannot handle yet. */ - volatile int ret; + int ret; this patch is able to generate code which passed the verifier. To disable optimization, users need to use "opt" command like below: clang -target bpf -O2 -S -emit-llvm -Xclang -disable-llvm-passes test.c // disable icmp serialization opt -O2 -bpf-disable-serialize-icmp test.ll | llvm-dis > t.ll // disable avoid-speculation opt -O2 -bpf-disable-avoid-speculation test.ll | llvm-dis > t.ll llc t.ll Differential Revision: https://reviews.llvm.org/D85570
-
Fanbo Meng authored
[SystemZ][z/OS] Add test of zero length bitfield type size larger than target zero length bitfield boundary Reviewed By: hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D88963
-
Arjun P authored
Subtraction is a foundational arithmetic operation that is often used when computing, for example, data transfer sets or cache hits. Since the result of subtraction need not be a convex polytope, a new class `PresburgerSet` is introduced to represent unions of convex polytopes. Reviewed By: ftynse, bondhugula Differential Revision: https://reviews.llvm.org/D87068
-
Adam Czachorowski authored
The default value is 1.3f, but it was cast to true, which is not a good base for code completion score. Differential Revision: https://reviews.llvm.org/D88970
-
Ronak Chauhan authored
Decode AMDGPU Kernel descriptors as assembler directives. Reviewed By: scott.linder, jhenderson, kzhuravl Differential Revision: https://reviews.llvm.org/D80713
-
Cameron McInally authored
Differential Revision: https://reviews.llvm.org/D88847
-
Jay Foad authored
-
Sam McCall authored
This reverts commit 4cae6228. Breaks GCC build: http://lab.llvm.org:8011/#/builders/8/builds/33/steps/6/logs/stdio
-
Nico Weber authored
-
Sam McCall authored
This allows overload sets containing function_ref arguments to work correctly Otherwise they're ambiguous as anything "could be" converted to a function_ref. This matches proposed std::function_ref, absl::function_ref, etc. Differential Revision: https://reviews.llvm.org/D88901
-
Tobias Gysi authored
The patch fixes the types used to access the elements of the kernel parameter structure from a pointer to the structure to a pointer to the actual parameter type. Reviewed By: csigg Differential Revision: https://reviews.llvm.org/D88959
-
Georgii Rymar authored
The `Group` class represents a group section and it is named inconsistently with other sections which all has the "Section" suffix. It is sometimes confusing, this patch addresses the issue. Differential revision: https://reviews.llvm.org/D88892
-
Georgii Rymar authored
We have `--addrsig` implemented for `llvm-readobj`. Usually it is convenient to use a single tool for dumping, so it seems we might want to implement `--addrsig` for `llvm-readelf` too. I've selected a simple output format which is a bit similar to one, used for dumping of the symbol table. It looks like: ``` Address-significant symbols section '.llvm_addrsig' contains 2 entries: Num: Name 1: foo 2: bar ``` Differential revision: https://reviews.llvm.org/D88835
-