aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
3 hours[NFC][flang] Remove unused `converter` parameter. (#96854)HEADmainKareem Ergawy2-9/+6
Removes an unused parameter in 2 utils that generate bounds ops.
3 hours[MC] Remove unneeded nullness check from getOrCreateDataFragment. NFCFangrui Song1-1/+1
`getCurrentFragment()` no longer returns null after 7423bf78eb53d81ce0c7b3a38e39a56341ca2a89.
4 hoursReapply "[CodeGen][NewPM] Port machine-branch-prob to new pass manager" ↵paperchalice24-73/+184
(#96858) (#96869) This reverts commit ab58b6d58edf6a7c8881044fc716ca435d7a0156. In `CodeGen/Generic/MachineBranchProb.ll`, `llc` crashed with dumped MIR when targeting PowerPC. Move test to `llc/new-pm`, which is X86 specific.
4 hours[MC] Cache current fragment in MCStreamerFangrui Song6-4/+16
This eliminates indirection through `getCurrentSectionOnly()->curFragList()->Tail`.
4 hours[MLIR][OpenMP] Lowering support for Order clause in SIMD directive (#96866)harishch42-5/+38
4 hours[BOLT][Linux] Support ORC for alternative instructions (#96709)Maksim Panchenko4-8/+88
Alternative instruction sequences in the Linux kernel can modify the stack and thus they need their own ORC unwind entries. Since there's only one ORC table, it has to be "shared" among multiple instruction sequences. The kernel achieves this by putting a restriction on instruction boundaries. If ORC state changes at a given IP, only one of the alternative sequences can have an instruction starting/ending at this IP. Then, developers can insert NOPs to guarantee the above requirement is met. The most common use of ORC with alternatives is "pushf; pop %rax" sequence used for paravirtualization. Note that newer kernel versions no longer use .parainstructions; instead, they utilize alternatives for the same purpose. Before we implement a better support for alternatives, we can safely skip ORC entries associated with them. Fixes #87052.
4 hours[MC] Ensure subsections have a MCDataFragmentFangrui Song4-18/+18
Similar to 21fac2d1d060b0f9b11a746718e58d4cd1ee97e5 for sections. This makes it feasible to cache the current fragment in MCStreamer.
5 hours[RISCV] Remove unneeded code from RISCVPostRAExpandPseudo::expandMovImm. NFCCraig Topper1-4/+0
We accidentally left a call to generateInstSeq when we rewrote the code to use the X86InstrInfo::movImm.
6 hours[mlir][Linalg] use linalg.reduce to simplify the mergeReductions in ↵zhicong zhong2-53/+21
partialReductionInterface (#94579) The current implementation of `mergeReduction` in `LinalgOpPartialReductionInterface` builds a `linalg.generic` from scratch. While we already have `linalg.reduce` op which has the same semantic as this generic op, this PR replaces the generic op with `linalg.reduce` to simplify the implementation.
6 hours[BOLT] Omit CFI state while printing functions without CFI (#96723)Maksim Panchenko4-9/+2
If a function has no CFI program attached to it, do not print redundant empty CFI state for every basic block.
6 hours[bazel] Port #96805 (#96988)Keith Smiley1-0/+1
7 hours[BOLT][NFC] Move CallGraph from Passes to Core (#96922)shaw young18-31/+31
Moved CallGraph and BinaryFunctionCallGraph from Passes to Core for future use in stale matching.
7 hours[test][compiler-rt] Mark fork_deadlock.cpp UNSUPPORTEDArthur Eubanks1-0/+3
This test is broken since there's no "syscall.h". As requested in #96597, mark test as UNSUPPORTED instead of reverting.
8 hours[clang] [TargetCXXABI] Fix -Wextra-semi warning (NFC) (#96982)akirchhoff-modular1-1/+1
While building a downstream project including `TargetCXXABI.h`, I received a `-Wextra-semi` warning. This PR removes the extra semicolon, fixing the warning.
8 hours[mlir] Fix -Wextra-semi warnings in generated code (NFC) (#96981)akirchhoff-modular1-1/+1
While building a downstream project including `mlir-tblgen`-generated headers, I received some `-Wextra-semi` warnings. Fix these in the generated code by removing the extra semicolon in the generator.
8 hours[workflows] Fix release note request workflow (#94784)Tom Stellard3-3/+21
We need to use the issue-write workflow to write the comments, because pull_request targets don't have permissions to write comments.
8 hours[libc] Fix compilation errors that occur when building with GCC (#96976)OverMighty5-9/+10
9 hours[RISCV] Fold processSingleLetterExtension/processMultiLetterExtension into ↵Craig Topper1-92/+42
RISCVISAInfo::parseArchString. The end of both functions was very similar. Merging reduces the duplication. I'm planning to make additional changes to this code soon.
9 hours[flang] Fix runtime error messages for the MATMUL intrinsic (#96928)Pete Steinfeld1-5/+19
There are three forms of MATMUL -- where the first argument is a rank 1 array, where the second argument is a rank 1 array, and where both arguments are rank 2 arrays. There's code in the runtime that detects when the array shapes are incorrect. But the code that emits an error message assumes that both arguments are rank 2 arrays. This change contains code for the other two cases.
9 hours[Clang] Fix __is_trivially_equality_comparable returning true with ↵Nikolas Klauser5-65/+124
ineligebile defaulted overloads (#93113) This changes `__is_trivially_equality_comparable` to do overload resolution instead, which fixes a couple of false-positives (and a false-negative as a drive-by). Fixes #89293
9 hours[MLGO] Add ability to extract IR from bazel using aquery (#96964)Aiden Grossman3-2/+67
This patch adds in support for extracting IR from binaries built with bazel through querying the linker command line using bazel aquery.
9 hours[libc] Sort entrypoints alphabetically (#96955)Petr Hosek7-776/+774
This makes it easier to diff the different configurations.
9 hours[OpenMP] Fix test omp_parallel_num_threads_list.c to require fewer threads. ↵Terry Wilmarth1-14/+14
(#96916) Original test case used too many threads for some environments. This update reduces to a max of 36 threads.
10 hours[MLGO] Remove python-38 flag from tests (#96961)Aiden Grossman7-11/+6
Previously, we had a python-38 flag for the mlgo-utils tests as they needed a python version higher than what LLVM required by default due to type annotations. Now that LLVM's default Python version minimum is 3.8, we can remove this flag.
10 hours[clang-doc][NFC] Fix style guide violations in HTMLGenerator.cppPaul Kirth1-51/+50
This patch addresses several code style issues that conflict with the project's style guide. Primarily the naming of functions, and `else` after `return` statements. It only addresses issues found in HTMLGenerator.cpp. Reviewers: petrhosek Reviewed By: petrhosek Pull Request: https://github.com/llvm/llvm-project/pull/96924
10 hoursReapply [clang-doc] Add --asset option to clang-doc (#96358)PeterChou19-37/+133
Reapply https://github.com/llvm/llvm-project/pull/94717 Adds a new option --asset which allows users to specified the asset folder for the html output of clang-doc. This patch adds a better test for --asset option + fixes bug where clang-doc assumes that user supplied js file is assume to be index.js
11 hours[clang] Fix incomplete umbrella warnings when building clang modules (NFC) ↵Med Ismail Bennani1-7/+9
(#96939)
11 hoursAMDGPU: Fix no return atomicrmw fadd v2f16 selection for gfx908 (#96948)Matt Arsenault5-126/+23
We previously would always expand this with a cmpxchg loop, while it should be the same conditions as the f32 case (except for the denormal concern).
11 hours[SLPVectorizer] Support SLPVectorizer cases of tan across all backends (#95517)Farzon Lotfi6-18/+43
This PR is intended to address the limited SLPVectorizer support of tan raised in the comments of this PR: https://github.com/llvm/llvm-project/pull/94559. Right now emitting the tan intrinsisic allows you to vectorize tan, but emitting the libfunc does not. to address this the libcall needs to be mapped to the intrinsic. and the libcall and function name need to be marked approriately so they can be optimized or defined as a call lowering.
11 hours[libc][math][c23] Temporarily disable f16fma{,l,f128} on AArch64 (#96952)OverMighty1-9/+0
See Buildbot failures: - https://lab.llvm.org/buildbot/#/builders/104/builds/936 - https://lab.llvm.org/buildbot/#/builders/71/builds/932 - https://lab.llvm.org/buildbot/#/builders/131/builds/913
12 hours[libc][math][c23] Add f16fma{,l,f128} C23 math function (#96711)OverMighty29-108/+403
Part of #93566.
12 hoursRevert "Revert "[lldb/test] Mark TestStepScripted.py as XFAIL temporarily ↵Med Ismail Bennani2-2/+4
(#96894)"" (#96946) Reverts llvm/llvm-project#96942 since the test failures are still happening: https://lab.llvm.org/buildbot/#/builders/162/builds/899/
12 hours[libc] Include additional math functions in baremetal config (#96926)Petr Hosek2-0/+108
These are all supported on arm32 and riscv32.
12 hoursRevert "[lldb/test] Mark TestStepScripted.py as XFAIL temporarily (#96894)" ↵Med Ismail Bennani2-4/+2
(#96942) This tentatively reverts commit 204c403b5215197ecdbdb68ca7f11402d6d9892b to remove the XFAIL from the tests while also trying to fix them at the same time. Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
12 hours[InstCombine] Add fold for fabs(-x) -> fabs(x) (#95627)Vaibhav2-4/+196
This patch folds `fabs(-x) -> fabs(x)` Closes #94170 Proofs: https://alive2.llvm.org/ce/z/gjzmgf
12 hours[X86] Remove PMADDWD/PMADDUBSW known bits handling due to performance issuesSimon Pilgrim2-106/+68
This appears to be causing an slow (infinite?) loop when building the highway open source project - most likely due to the high number of computeKnownBits calls (although improving early-out doesn't appear help so far). I'm reverting support to unstick the highway team and will revisit this shortly. Reported by @alexfh
13 hours[CodeGen] Use range-based for loops (NFC) (#96855)Kazu Hirata6-29/+24
13 hoursAMDGPU: Add amdgpu.no.fine.grained.memory when upgrading old atomic ↵Matt Arsenault2-21/+27
intrinsics (#89655) This should replicate the old intrinsic behavior better when codegen of the raw instruction will require metadata in the future.
13 hoursGive a warning when no dwo files are provided (#94336)Jinjie Huang2-1/+149
In some scenarios based on the split-dwarf build process, the dwo file is not generated as expected(That is to say, no dwo file path is stored in the binary). When the llvm-dwp tool is called to generate the .dwp file, it will exit without any warning. So, the plan is to prompt a warning to tell the user that the dwo file was not actually generated. <img width="699" alt="image" src="https://github.com/llvm/llvm-project/assets/150100070/5e5742f6-daad-450f-87e9-cb25449c3c7a">
13 hours[MC] Chain together fragments only if Subsections.size() > 1Fangrui Song1-15/+16
and delete an unneeded setParent call.
13 hoursOn AIX we don’t have .debug_addr section. (#96935)Anh Tuyen Tran1-1/+1
According to Zheng @chenzheng1030, there is no .debug_addr section on AIX. Due to its absence on AIX, the test case may produce inconsistent results, either passing or failing. This PR ensures that the test case is marked as not applicable for AIX.
13 hours[clang][Interp][NFC] Print global temporary value in Program::dump()Timm Bäder1-0/+14
There is quite a problem here, so print both the value we have in Program as well as the value from the LifetimeExtendedTemporaryDecl.
13 hoursRevert "[flang] add extra component information in fir.type_info" (#96937)jeanPerier12-302/+16
Reverts llvm/llvm-project#96746 Breaking shared library buillds: https://lab.llvm.org/buildbot/#/builders/89/builds/931
13 hours[GlobalISel] Add unit tests for call lowering on byref supportdarkbuck2-0/+59
Reviewers: tschuett, spaits, aemerson, arsenm Reviewed By: spaits, arsenm Pull Request: https://github.com/llvm/llvm-project/pull/96805
14 hours[flang] add extra component information in fir.type_info (#96746)jeanPerier12-16/+302
fir.type does not contain all Fortran level information about components. For instance, component lower bounds and default initial value are lost. For correctness purpose, this does not matter because this information is "applied" in lowering (e.g., when addressing the components, the lower bounds are reflected in the hlfir.designate). However, this "loss" of information will prevent the generation of correct debug info for the type (needs to know about lower bounds). The initial value could help building some optimization pass to get rid of initialization runtime calls. This patch adds lower bound and initial value information into fir.type_info via a new fir.dt_component operation. This operation is generated only for component that needs it, which helps keeping the IR small for "boring" types. In general, adding Fortran level info in fir.type_info will allow delaying the generation of "type descriptors" gobals that are very verbose in FIR and make it hard to work with FIR dumps from applications with many derived types.
14 hours[MC] Make MCSection::isVirtualSection non-virtual (#96920)Alexis Engelke15-54/+32
This method is called once per encoded instruction, but never changes throughout the lifetime of a section. Store this information as a bit flag in the MCSection instead.
14 hours[clang][docs] Update the gsl::Pointer/Owner attr doc (#96908)Haojian Wu1-7/+4
- Fix some errors in the snippet; - update the code snippet to reflect the current implementation status in clang;
14 hours[MC,X86] emitInstruction: remove virtual function calls due to Intel JCC ErratumFangrui Song6-12/+54
https://reviews.llvm.org/D70157 (for Intel Jump Conditional Code Erratum) introduced two virtual function calls in the generic MCObjectStreamer::emitInstruction, which added some overhead. This patch removes the virtual function overhead: * Define `llvm::X86_MC::emitInstruction` that calls `emitInstruction{Begin,End}`. * Define {X86ELFStreamer,X86WinCOFFStreamer}::emitInstruction to call `llvm::X86_MC::emitInstruction` Pull Request: https://github.com/llvm/llvm-project/pull/96835
14 hours[X86,test] Add a JCC erratum test for WindowsFangrui Song1-0/+1
Increase test coverage exposed by #96835.
14 hours[RISCV] Support zext.h mnemonic with Zbkb. (#96821)Craig Topper7-21/+217
Zbkb adds generic pack insructions. The zext.h encodings from Zbb are subsets of the generic encodings with rs2=x0. zext.h is pack on RV32 and packw on RV64. Previously we only supported zext.h as a single instruction mnemonic in the assembler when Zbb was enabled. Otherwise we would emit it as 2 shifts. This patches recognizes it when either Zbkb or Zbb is enabled. This patch also enables the zext.h isel patterns when Zbkb is enabled without Zbb.