- Aug 31, 2023
-
-
Reid Kleckner authored
See issue #64166 for more information about the layering issue.
-
Reid Kleckner authored
See issue #64166 for more information about the layering issue. The PPCMCTargetDesc library was including CodeGen headers such as PPCInstrInfo.h and calling inline functions in them. This doesn't work in the Bazel build, and is error-prone. If the inline function moves to a cpp file, it will result in linker errors. To address the issue, I moved several inline functions to PPCMCTargetDesc.cpp, and declared them in the PPC namespace in PPCMCTargetDesc.h, which seemed like the most straightforward fix. Differential Revision: https://reviews.llvm.org/D156488
-
Alex Brachet authored
Some older gcc toolchains don't define these on 32 bit platforms. This is a problem for pigweed which uses an older gcc toolchain and targets 32 bit. Differential Revision: https://reviews.llvm.org/D157112
-
Jacques Pienaar authored
parseSourceString does not require null-terminated string, hence requirement on memory buffer can be relaxed. Differential Revision: https://reviews.llvm.org/D159214
-
Jason Molenda authored
A followon to https://reviews.llvm.org/D158237 , where this text can print stdout text when run under address-sanitizer, and the test harness does not expect any output, resulting in a test failure on a sanitizer CI bot.
-
Joseph Huber authored
Summary: We should check for the GPU architectures first, since `__linux__` can be set potentially during these compilations. Also the test needs to be a hermetic test.
-
Shoaib Meenai authored
With `%/t`, we can now compare `-###` output against the installtion dir without backslash escaping getting in the way. Having to check against the doubled-up backslashes is ugly, but it's the pattern used in lots of tests (including for things like debug info where an `-###` alternative that didn't escape backslashes wouldn't help).
-
Joseph Huber authored
This patch implements the `clock()` function on the GPU. This function is supposed to return a timestamp that can be converted into seconds using the `CLOCKS_PER_SEC` macro. The GPU has a fixed frequency timer that can be used for this purpose. However, there are some considerations. First is that AMDGPU does not have a statically known fixed frequency. I know internally that the gfx10xx and gfx11xx series use a 100 MHz clock which will probably remain for the future. Gfx9xx typically uses a 25 MHz clock except for the Vega 10 GPU. The only way to know for sure is to look it up from the runtime. For this purpose, I elected to default it to some known values and assign these to an exteranlly visible symbol that can be initialized if needed. If we do not have a good guess we just return zero. Second is that the `CLOCKS_PER_SEC` macro only gives about a microsecond of resolution. POSIX demands that it's 1,000,000 so it's best that we keep with this tradition as almost all targets seem to respect this. The reason this is important is because on the GPU we will almost assuredly be copying the host's macro value (see the wrapper header) so we should go with the POSIX version that's most likely to be set. (We could probably make a warning if the included header doesn't match the expected value). Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D159118
-
David Green authored
This adds some more extensive test coverage for fdiv through global isel, switching the opcodes to use the more complete ActionDefinitions to handle more cases and moving it into the position of the existing code which is no longer needed.
-
Leonard Chan authored
When scanning over TLS regions, we attempt to check if one of the regions is one of the thread_local allocator caches which would be located in one of the TLS blocks pointer to by the DTV. This is to prevent marking a pointer that was allocated by the primary allocator (from a thread_local cache) as reachable. The check is a simple bounds check to see if the allocator cache is within the bounds of one of the TLS block we're iterating over, but it looks like the check for the end of the cache is slightly incorrect. Differential Revision: https://reviews.llvm.org/D156015
-
Snehasish Kumar authored
Add a MemProfReader base class which can be used directly where symbolization and processing a raw profile is unnecessary. Reviewed By: tejohnson Differential Revision: https://reviews.llvm.org/D159141
-
Owen Pan authored
Replaces some 600 EXPECT_EQ() to verifyFormat() or verifyNoChange() in FormatTest.cpp because the former neither checks stability of formatting nor tests formatting C++ as Objective C. Also marks dozens of unstable test cases with FIXME comments. Differential Revision: https://reviews.llvm.org/D159051
-
Peiming Liu authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D159020
-
LLVM GN Syncbot authored
-
zhijian authored
Summary: On AIX OS, clang may use llvm-nm to export the symbols from all input files (see https://github.com/llvm/llvm-project/blob/515c435e378b243b1be3da1587c9e206055f2c32/clang/lib/Driver/ToolChains/AIX.cpp#L236). However, the clang command-line may include import files (identified by them starting with #!). llvm-nm previously reported "invalid object file" errors for import files, meaning that the clang driver would fail to link when import files are included this way. In this patch, llvm-nm is changed to ignore import files when the --export-symbol option, meaning that clang will now succeed in this case. For more information about AIX import files, see https://www.ibm.com/docs/en/aix/7.3?topic=l-ld-command Reviewers: Hubert Tong, James Henderson, MaskRay, Stephen Peckham Differential Revision: https://reviews.llvm.org/D158004
-
Philip Reames authored
This re-implements the special casing we had in lowerScalarSplat as a DAG combine. As can be seen in the tests, this ends up triggering in a bunch more cases. The semantically interesting bit of this change is the use of the implicit truncate semantics for when XLEN > SEW. We'd already been doing this for vmv.v.x, but this change extends e.g. the constant matching to make the same assumption about vmv.s.x. Per my reading of the specification, this should be fine, and if anything, is more obviously true of vmv.s.x than vmv.v.x. Differential Revision: https://reviews.llvm.org/D158874
-
Peiming Liu authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D158912
-
Christopher Ferris authored
The RSS code is not very useful and can be replicated by using ulimit. Remove it and remove the options associated with it. Reviewed By: Chia-hungDuan Differential Revision: https://reviews.llvm.org/D159155
-
Pranav Kant authored
-
Philip Reames authored
We'd discussed this in the original set of patches months ago, but decided against it. I think we should reverse ourselves here as the code is significantly more readable, and we do pick up cases we'd missed by not calling the appropriate helper routine. Differential Revision: https://reviews.llvm.org/D158854
-
Peiming Liu authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D158914
-
Ian Anderson authored
[Headers][Modules] Make separate headers for the stdarg.h and stddef.h pieces so that they can be modularized stdarg.h and stddef.h have to be textual headers in their upcoming modules to support their `__needs_xxx` macros. That means that they won't get precompiled into their modules' pcm, and instead their declarations will go into every other pcm that uses them. For now that's ok since the type merger can handle the declarations in these headers, but it's suboptimal at best. Make separate headers for all of the pieces so that they can be properly modularized. Reviewed By: aaron.ballman, ChuanqiXu Differential Revision: https://reviews.llvm.org/D158709
-
walter erquinigo authored
- Allow the definition of synthetic formatters in C++ even when LLDB is built without python scripting support. - Fix linking problems with the CXXSyntheticChildren Differential Revision: https://reviews.llvm.org/D158010
-
Matt Arsenault authored
There are really two rounding modes, so only return the standard values if both modes are the same. Otherwise, return a bitmask representing the two modes. Annoyingly the register doesn't use the same values as FLT_ROUNDS. Use a simple integer table we can shift into to convert. https://reviews.llvm.org/D153158
-
Piotr Zegar authored
Old links pointed out to old domain, and then redirected to correct one, but to wrong pages. Changed links from old to new domain and page. Fixes: #65064
-
Dhruv Chawla authored
-
Peiming Liu authored
Reviewed By: aartbik, anlunx Differential Revision: https://reviews.llvm.org/D159170
-
Piotr Zegar authored
Fix issues found by clang-tidy in clang-tidy source directory.
-
Philip Reames authored
In particular, high LMULs, constant offsets within high LMUL, and types which require splitting. Note that most of these are way off with current lowering.
-
Simon Pilgrim authored
Try to use VALIGN as a cross-lane version of VSHLDQ/VSRLDQ
-
Simon Pilgrim authored
-
Aiden Grossman authored
This patch makes structural-hash-detailed.ll look at diffs rather than specific values to make the test more robust against the underlying hashing implementation while still testing that the hash value is deterministic across multiple runs. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D159154
-
David Tenty authored
This reverts commit 01483019. and ce12d656. Differential Revision: https://reviews.llvm.org/D158754
-
Philip Reames authored
In particular, at mixed LMULS, high LMULS, and types which require splitting.
-
Mikhail Goncharov authored
warning was updated in 92023b15
-
Ben Langmuir authored
If there is no output filename we should not assert when writing output for -MJ. Differential Revision: https://reviews.llvm.org/D159016
-
Andrzej Warzynski authored
Just a small follow-up for https://reviews.llvm.org/D159122
-
Arthur Eubanks authored
-
Craig Topper authored
Only pass it +unaligned-scalar-mem/-unaligned-scalar-mem if the user has passed one of the alignment options. This allows us to add unaligned-scalar-mem as a feature on CPUs that support it. Reviewed By: wangpc Differential Revision: https://reviews.llvm.org/D159145
-