- Jun 22, 2023
-
-
Matthias Springer authored
The old code used to materialize constants as ops, immediately folded them into the resulting affine map and then deleted the constant ops again. Instead, directly fold the attributes into the affine map. Furthermore, all helpers accept `OpFoldResult` instead of `Value` now. This makes the code at call sites more efficient, because it is no longer necessary to materialize a `Value`, just to be able to use these helper functions. Note: The API has changed (accepts OpFoldResult instead of Value), otherwise this change is NFC. Differential Revision: https://reviews.llvm.org/D153324
-
Diana Picus authored
We only check a subset of the constraints in the verifier: * that we only call the intrinsic from functions with a restricted set of calling conventions * that the 'flags' argument is an immediate Other checks are (probably) more appropriate for codegen. Differential Revision: https://reviews.llvm.org/D151995
-
Diana Picus authored
Add the amdgpu_cs_chain and amdgpu_cs_chain_preserve keywords to LLVM IR and make sure we can parse and print them. Also make sure we perform some basic checks in the IR verifier - similar to what we check for many of the other AMDGPU calling conventions, plus the additional restriction that we can't have direct calls to functions with these calling conventions. Differential Revision: https://reviews.llvm.org/D151994
-
Job Noorman authored
Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D153346
-
Job Noorman authored
Currently, all relocations that point inside a function are registered as external references. If these relocations cannot be resolved as jump tables or computed gotos, the containing function gets marked as not-simple and excluded from optimizations. RISC-V uses relocations for branches and jumps (to support linker relaxation) and as such, almost no functions get marked as simple. This patch fixes this by only registering relocations that originate outside of the referenced function as external references. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D153345
-
Job Noorman authored
Thispatch implements the R_RISCV_ADD32 and R_RISCV_SUB32 relocations for RISC-V. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D146554
-
Itay Bookstein authored
Signed-off-by:Itay Bookstein <itay.bookstein@nextsilicon.com>
-
Michael Platings authored
Previously if no matching multilib was found then the user would typically see an error like "fatal error: 'stdio.h' file not found" which gives no indication as to the underlying problem. With this change the user will instead see an error like clang: error: no multilib found matching flags: --target=thumbv7em-none-unknown-eabi -march=... clang: note: available multilibs are: --target=armv4t-none-unknown-eabi --target=thumbv6m-none-unknown-eabi -mfpu=none ... Differential Revision: https://reviews.llvm.org/D153292
-
Tobias Gysi authored
This revision ensures SwitchOps with case and condition bitwidths other than 32-bit are imported properly. It adds an APInt based builder to the SwitchOp and implements a verifier that checks that the condition and the case value types match. Reviewed By: Dinistro Differential Revision: https://reviews.llvm.org/D153438
-
Petr Hosek authored
When LLVM_ENABLE_PER_TARGET_RUNTIME_DIR is enabled, place headers in `include/<target>` directory, otherwise use `include/`. Differential Revision: https://reviews.llvm.org/D152592
-
Vitaly Buka authored
-
Christian Sigg authored
This change also prepares for 9119325a to land again. Adds `mlir_c_runner_utils_hdrs` and `mlir_runner_utils_hdrs` targets which do not depend on `//llvm::Support`. These can be used by other 'runner.so' targets if they are loaded along with the 'runner_utils.so' without calling `__mlir_execution_engine_init()` twice.
-
Elliot Goodrich authored
Remove the `DenseMapInfo<std::variant<Ts...>>` variant out from `llvm/ADT/DenseMapInfo.h` into a separate header `llvm/ADT/DenseMapInfoVariant.h` This allows us to remove the `<variant>` include, which is being transitively and unncessary included in all translation units that include `llvm/ADT/DenseMap.h`. There have been similar changes to move out specializations for * `APInt.h` fd7e309e and * `StringRef.h`/`ArrayRef.h` 983565a6 to reduce the compilation time. As we are unable to move the specialization into `<variant>`, we create a separate `DenseMapInfoVariant.h` header that can be used by anyone who needs this specialization. This reduces the total number of preprocessing tokens across the LLVM source files in lib from (roughly) 1,964,876,961 to 1,936,551,496 - a reduction of ~1.44%. This should result in a small improvement in compilation time. Differential Revision: https://reviews.llvm.org/D150997 -
Jacques Pienaar authored
Add ability to be able to group ops together in documentation generation. This results in section of ops grouped together under one summary & description. This doesn't do anything special for the groups beyond nesting yet. Differential Revision: https://reviews.llvm.org/D153306
-
Vitaly Buka authored
-
Michael Maitland authored
vfredmax/min may have different scheduling behavior on different microarchitectures compared to other reductions. This different behavior can be described by giving vfredmax/min separate scheduling resources. Differential Revision: https://reviews.llvm.org/D153450
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Aart Bik authored
Old pattern was missing some cases (e.g. swapping the arguments) but it also allowed too many cases (e.g. non-empty "absent" or different arguments for add/mul). This fixes the issues. Reviewed By: K-Wu Differential Revision: https://reviews.llvm.org/D153487
-
Matt Arsenault authored
-
Craig Topper authored
Move some of the vmv.v.i handling into the vmv.v.v if. This reduces the scope of one variable.
-
Craig Topper authored
The word "attribute" has a specific meaning in LLVM. Avoid using it here to mean something different. This addresses feedback from D153180. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D153444
-
Brad Richardson authored
Reviewed By: awarzynski, PeteSteinfeld Differential Revision: https://reviews.llvm.org/D153379
-
Vitaly Buka authored
-
Vitaly Buka authored
Wrong accidental commit. This reverts commit 1f18c962.
-
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Mitch Phillips authored
This reverts commit bba2b656. Reason: Broke the HWASan buildbot. See https://reviews.llvm.org/D153250 for more information.
-
Rashmi Mudduluru authored
Differential Revision: https://reviews.llvm.org/D150489
-
Shoaib Meenai authored
It hasn't been written to since https://reviews.llvm.org/D46652, so it was always empty. I don't have enough context on that diff to know if the removal of the write to ShowIncludesPretendHeader in that diff was intentional, but no one's complained about it for five years, so I assume we're okay to just get rid of it entirely. Reviewed By: hans Differential Revision: https://reviews.llvm.org/D153176
-
Shoaib Meenai authored
`-H` displays a tree of included header files, but that tree is supposed to omit two categories of header files: 1. Any header files pulled in via `-include`, which the code refers to as the "predefines". 2. Any header files whose inclusion was skipped because they'd already been included (assuming header guards or `#pragma once`). `-fshow-skipped-includes` was intended to make `-H` display the second category of files. It wasn't checking for the first category, however, so you could end up with only the middle of the `-include` hierarchy displayed, e.g. the added test would previously output: ``` ... /data/users/smeenai/llvm-project/clang/test/Frontend/Inputs/test2.h . /data/users/smeenai/llvm-project/clang/test/Frontend/Inputs/test.h ``` This diff adds a check to prevent that and correctly omit headers from `-include` even when `-fshow-skipped-includes` is passed. While I'm here, add tests for the interaction between `-fshow-skipped-includes` and `-sys-header-deps` as well. Reviewed By: hans Differential Revision: https://reviews.llvm.org/D153175
-
Valentin Clement authored
Add support for couple of FIR types such as fir.ptr, fir.heap, fir.box, fir.class Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D153461
-
Owen Pan authored
Don't finalize a preprocessor branch directive if it's the first token of an annotated line. See the rationale at https://reviews.llvm.org/D150057#inline-1449546. Fixes #63379 Differential Revision: https://reviews.llvm.org/D153243
-
Christopher Ferris authored
The ScopedString class has two functions named append. One takes a va_list, but on some platforms va_list is typedef'd to char*. That means that this call: std::string value; Str.append("print this string %s", value.c_str()); The compiler can incorrectly think this is the va_list function, leading to crashes when calling this. To fix this, change the name of the va_list function to be vappend to avoid this. Fix https://github.com/llvm/llvm-project/issues/62893 Reviewed By: Chia-hungDuan Differential Revision: https://reviews.llvm.org/D153389 -
Louis Dionne authored
Previously, it wouldn't take into account files in ignore_format.txt (at least not on OSX) because the `find` command would return file names like `libcxx/src//new_handler.cpp`, which never matched the file names in `ignore_format.txt`. Differential Revision: https://reviews.llvm.org/D153416
-
Jason Molenda authored
Two new entitlements, com.apple.private.thread-set-state and com.apple.private.set-exception-port should be included in the debugserver entitlement plist when built internally at Apple. The desktop builds of debugserver don't need these entitlements; don't add them to debugserver-macosx-entitlements.plist. rdar://108912676 rdar://103032208
-
Louis Dionne authored
This doesn't change the selection, but it expands the conditions to add comments and make it clearer what's happening. It also removes a -Wundef instance when we checked __ARM_ARCH_7K__ >= 2 without checking that it is defined in the first place. Differential Revision: https://reviews.llvm.org/D153413
-
David Green authored
Commit ec77747f regenerated the check lines without being very careful about which lines were updated. This attempts to fix them to make sure the V7 and V8 lines are emitted as needed.
-