You need to sign in or sign up before continuing.
- Jan 27, 2024
-
-
NAKAMURA Takumi authored
See #78920. This reverts commit ce3e767a.
-
Jeremy Kun authored
In trying to set up python headers in an out-of-tree bazel MLIR project, I encountered the `pybind11_bazel` project, and found that the `@python_runtime` target used here is not defined by it. Instead, it seems that `@python_runtime` is an alias used in some projects like Tensorflow (see https://github.com/tensorflow/tensorflow/blob/322936ffdd96ee59e27d028467fe458859cf3855/third_party/python_runtime/BUILD#L7-L7), where it is aliased to `@local_config_python`. In fact, `@local_config_python` is defined by `@pybind11_bazel`, and so it seems that this layer of indirection no longer serves a purpose, and instead just prevents anyone who doesn't clone Tensorflow's config from using the python bindings here. This commit updates the dependent targets to their canonical de-aliased equivalents, and I suspect this will not even break any downstream users since the new target is defined in those projects already. Without this change, running, for example ``` bazel build @llvm-project//mlir:MLIRBindingsPythonCore ``` gives the error ``` no such package '@python_runtime//': The repository '@python_runtime' could not be resolved: Repository '@python_runtime' is not defined and referenced by '@llvm-project//mlir:MLIRBindingsPythonCore' ``` Minimal reproduction in https://github.com/j2kun/test_mlir_bazel_pybind, which, when pointing to a local LLVM repository that has this change (see `bazel/import_llvm.bzl` in that repository), results in that build succeeding. Hat tip to Maksim Levental for going on an hours-long investigation with me to figure this out.
-
Jonas Devlieghere authored
On Darwin, the Makefile already (ad-hoc) signs everything it builds. There's also no need to use lldb_codesign for this.
-
Mikhail Gudim authored
-
Kai Sasaki authored
-
Matt Arsenault authored
Rushing this one out before vacation starts. Refactoring on top of #66505
-
Owen Pan authored
Fixes #78965.
-
Ben Shi authored
-
Kazu Hirata authored
The use of SmallDenseSet saves 0.39% of heap allocations during the compilation of a large preprocessed file, namely X86ISelLowering.cpp, for the X86 target. During the experiment, WL.size() was 2 or less 99.9% of the time. The inline size of 4 should accommodate up to 2 entries at the 3/4 occupancy rate.
-
Aiden Grossman authored
This patch refactors the instantiation of BenchmarkMeasure within all the unit tests to use BenchmarkMeasure::Create rather than through direct struct instantialization. This allows us to change what values are stored in BenchmarkMeasure without getting compiler warnings on every instantiation in the unit tests, and is also just a cleanup in general as the Create function didn't seem to exist at the time the unit tests were originally written.
-
Schrodinger ZHU Yifan authored
Use definitions from `<linux/mman.h>` to dispatch arch-specific flag values. For example, `MCL_CURRENT/MCL_FUTURE/MCL_ONFAULT` are different on different architectures.
-
Cyndy Ishida authored
A distinction that doesn't _usually_ matter is that the MachO::SymbolKind is really a mapping of entries in TBD files not symbols. To better understand this, rename the enum so it represents an encoding mapped to TBDs as opposed to symbols alone. For example, it can be a bit confusing that "GlobalSymbol" is a enum value when all of those values can represent a GlobalSymbol.
-
Min-Yih Hsu authored
Currently llvm-exegesis assumes that there will only be 3 symbols in the snippet object, in which the benchmarking function 'foo' is always the last symbol. These assumptions do not hold for object file formats of other targets we support downstream. I think it would be more ideal to generalize this part of the logics into a simple search on all symbols, as proposed by this patch.
-
Ziqing Luo authored
Constructing `std::span` objects with the two parameter constructors could introduce mismatched bounds information, which defeats the purpose of using `std::span`. Therefore, we warn every use of such constructors. rdar://115817781
-
Jonas Devlieghere authored
This fixes two issues related to the DebugSymbols symbol locator: 1. Only the default symbol locator plugin reports progress. On Darwin, which uses the DebugSymbols framework we need to report the same progress form the corresponding SymbolLocator plugin. 2. Forceful dSYM lookups, for example when using `add-dsym`, use a different code path that currently does not report progress, which is confusing. Here the progress event can be more specific and specify its downloading a symbol file rather than just locating it as we'll always shell out to dsymForUUID or its equivalent. rdar://121629777
-
Jonas Devlieghere authored
Make it easier to go from a ConstString to a std::string without having to go through a C-String or a llvm::StringRef. I made the conversion operator explicit as this is a relatively expensive operations (compared to a StringRef or string_view).
-
Evgenii Kudriashov authored
Almost all loops with getNumVirtRegs skip unused registers by means of reg_nodbg_empty or empty live interval. Except for these two cases that are revealed by GlobalISel since it can skip RegClass assignment for unused registers. Closes #64452, closes #71926
-
Dave Lee authored
The `(( )?&)?` appears to match types which are references. However lldb can load the correct data formatters without having to pattern match against a `&` suffix. The suffix may have been needed at one point, but it's no longer needed.
-
Alex MacLean authored
Update `NVPTXAssignValidGlobalNames` to convert all characters which are illegal in PTX identifiers to `_$_`. ([PTX ISA: 4.4 Identifiers](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#identifiers)).
-
Aiden Grossman authored
Currently this test is assuming that ~/.local/bin (or wherever the Python binaries are installed to) is on the path. This is not a valid assumption in most cases, and it also means we might not find the version of pytype associated with the Python interpreter being used to test LLVM, which could create some inconsistencies. This patch fixes that by invoking pytype through the Python interpreter passed to lit.
-
Nikita Popov authored
This reverts commit 59bf6051. Introduces a major compile-time regression.
-
Caslyn Tonelli authored
PR 79573 introduced `ASSERT_ERRNO_*` macros for use in libc tests. Introduce these macro definitions to FuchsiaTest.h for string tests to compile on Fuchsia.
-
Benjamin Kramer authored
This lets the compiler eliminate unused/duplicate calls to it.
-
Nikolas Klauser authored
Co-authored-by:Martin Storsjö <martin@martin.st>
-
Aiden Grossman authored
This patch adds a pytype test to the mlgo-utils lit test suite to prevent regressions in typing while we wait to setup precommit CI for this specific project. This is somewhat hacky, but is a temporary fix and will be pulled out soonish. It also should only impact the ML buildbots as they are the only ones that should have `pytype` installed.
-
Louis Dionne authored
I noticed that the parameter names used in that function were not very descriptive during a recent review.
-
Craig Topper authored
[InstCombine] Preserve nuw/nsw/exact flags when transforming (C shift (A add nuw C1)) --> ((C shift C1) shift A). (#79490) If we weren't shifting out any non-zero bits or changing the sign before the transform, we shouldn't be after. Alive2: https://alive2.llvm.org/ce/z/mB-rWz
-
Tom Stellard authored
The CI tests don't get triggered if a PR is created by the builtin github token, so we need to use a custom token when creating a PR.
-
Oskar Wirga authored
Currently, the way that recomputeLiveIns works is that it will recompute the livein registers for that MachineBasicBlock but it matters what order you call recomputeLiveIn which can result in incorrect register allocations down the line. This PR fixes that by simply recomputing the liveins for the entire CFG until convergence is achieved. This makes it harder to introduce subtle bugs which alter liveness.
-
Ziqing Luo authored
The Called-Once dataflow analysis could never terminate as a consequence of non-monotonic update on states. States of kind Escape can override states leading to non-monotonic update. This fix disallows the `Escape` state to override the `Reported` state. rdar://119671856
-
Nour1248 authored
-
gulfemsavrun authored
After trunk is bumped to version 19, some libc++ tests started failing on Windows. This patch adds clang-19 condition to XFAIL to fix the issue.
-
Fangrui Song authored
Clarify a comment after #78944. All uses of `getFile()` assert `file` is non-null. `getFile` is not used with a synthetic section. Replace `cast_or_null` with `cast`.
-
Alex Langford authored
Instead of passing the data to BroadcastEventIfUnique to create an Event object on the behalf of the caller, the caller can create the Event up-front.
-
Adhemerval Zanella authored
The glibc now adds the required minimum ISA level for libc-nonshared.a (linked on all programs) and this is done with an inline asm along with .note.gnu.property and .pushsection/.popsection. However, the x86 backend always ends the 'note.gnu.property' section when building with -fcf-protection, leading to assert failure: llvm/llvm-project-git/llvm/lib/MC/MCStreamer.cpp:1251: virtual void llvm::MCStreamer::switchSection(llvm::MCSection*, const llvm::MCExpr*): Assertion `!Section->hasEnded() && "Section already ended"' failed. [1] https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86/isa-level.c;h=3f1b269848a52f994275bab6f60dded3ded6b144;hb=HEAD
-
Eli Friedman authored
-
Alex Langford authored
There are 3 ways to create an EventDataBytes object: (const char *), (llvm::StringRef), and (const void *, size_t len). All of these cases can be handled under `llvm::StringRef`. Additionally, this allows us to remove the otherwise unused `SetBytes`, `SwapBytes`, and `SetBytesFromCString` methods.
-
Alex Langford authored
`FindBreakpointID` take a BreakpointID and a pointer to a size_t (so you can get position information). It returns a bool to indicate whether the id was found in the list or not. There are 2 callers of this currently and neither one actually uses the position information, so I removed it. After that, I renamed it to Contains to more accurately reflect the intent. Additionally, I changed the argument type from a reference to a value (because BreakpointID is just a wrapper around 2 integers, copies are cheap).
-
David Green authored
Without this we can end up with multiple copies from gpr->fpr.
-
Amy Kwan authored
This patch disallows the use of the -maix-small-local-exec-tls and -fno-data-sections options within clang, and also disallows the use of the aix-small-local-exec-tls attribute with the -data-sections=false option in llc. This is because having data sections off when using the aix-small-local-exec-tls feature is not ideal for performance. As the small-local-exec-tls region is a limited resource, this space should not used for variables that may be replaced. Note, that on AIX, data sections is turned on by default, so this patch makes it so that a diagnostic is emitted when users explicitly turn off data sections while using the aix-small-local-exec-tls feature.
-