Age | Commit message (Collapse) | Author | Files | Lines |
|
Removes an unused parameter in 2 utils that generate bounds ops.
|
|
`getCurrentFragment()` no longer returns null after
7423bf78eb53d81ce0c7b3a38e39a56341ca2a89.
|
|
(#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.
|
|
This eliminates indirection through `getCurrentSectionOnly()->curFragList()->Tail`.
|
|
|
|
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.
|
|
Similar to 21fac2d1d060b0f9b11a746718e58d4cd1ee97e5 for sections. This
makes it feasible to cache the current fragment in MCStreamer.
|
|
We accidentally left a call to generateInstSeq when we rewrote the
code to use the X86InstrInfo::movImm.
|
|
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.
|
|
If a function has no CFI program attached to it, do not print redundant
empty CFI state for every basic block.
|
|
|
|
Moved CallGraph and BinaryFunctionCallGraph from Passes to
Core for future use in stale matching.
|
|
This test is broken since there's no "syscall.h". As requested in #96597, mark test as UNSUPPORTED instead of reverting.
|
|
While building a downstream project including `TargetCXXABI.h`, I
received a `-Wextra-semi` warning. This PR removes the extra semicolon,
fixing the warning.
|
|
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.
|
|
We need to use the issue-write workflow to write the comments, because
pull_request targets don't have permissions to write comments.
|
|
|
|
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.
|
|
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.
|
|
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
|
|
This patch adds in support for extracting IR from binaries built with
bazel through querying the linker command line using bazel aquery.
|
|
This makes it easier to diff the different configurations.
|
|
(#96916)
Original test case used too many threads for some environments. This update
reduces to a max of 36 threads.
|
|
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.
|
|
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
|
|
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
|
|
(#96939)
|
|
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).
|
|
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.
|
|
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
|
|
Part of #93566.
|
|
(#96894)"" (#96946)
Reverts llvm/llvm-project#96942 since the test failures are still
happening:
https://lab.llvm.org/buildbot/#/builders/162/builds/899/
|
|
These are all supported on arm32 and riscv32.
|
|
(#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>
|
|
This patch folds `fabs(-x) -> fabs(x)`
Closes #94170
Proofs: https://alive2.llvm.org/ce/z/gjzmgf
|
|
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
|
|
|
|
intrinsics (#89655)
This should replicate the old intrinsic behavior better when codegen of
the raw instruction will require metadata in the future.
|
|
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">
|
|
and delete an unneeded setParent call.
|
|
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.
|
|
There is quite a problem here, so print both the value we have in
Program as well as the value from the LifetimeExtendedTemporaryDecl.
|
|
Reverts llvm/llvm-project#96746
Breaking shared library buillds:
https://lab.llvm.org/buildbot/#/builders/89/builds/931
|
|
Reviewers: tschuett, spaits, aemerson, arsenm
Reviewed By: spaits, arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/96805
|
|
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.
|
|
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.
|
|
- Fix some errors in the snippet;
- update the code snippet to reflect the current implementation status
in clang;
|
|
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
|
|
Increase test coverage exposed by #96835.
|
|
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.
|