- Oct 02, 2022
-
-
Jessica Paquette authored
SDAG does this, GISel doesn't. See https://gcc.godbolt.org/z/sqjMx3Tfv More context: https://github.com/llvm/llvm-project/issues/57256 Differential Revision: https://reviews.llvm.org/D135021
-
Fangrui Song authored
This removes one global variable and removes GOT and unique_ptr indirection.
-
Fangrui Song authored
Add LLVM_LIBRARY_VISIBILITY to remove unneeded GOT and unique_ptr indirection.
-
Jessica Paquette authored
-
Nikolas Klauser authored
Reviewed By: ldionne, Mordante, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D128578
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc Spies: sstefan1, libcxx-commits, jeroen.dobbelaere Differential Revision: https://reviews.llvm.org/D134901
-
Jessica Paquette authored
This fixes the `urem_undef_lhs` case in the following: https://gcc.godbolt.org/z/Wo9x7o679 Also see https://github.com/llvm/llvm-project/issues/57256 for more related bugs. This is equivalent to the undef bits in `simplifyDivRem` in the DAGCombiner. Differential Revision: https://reviews.llvm.org/D135020
-
Alex Brachet authored
`LLVM_DISTRIBUTION_COMPONENTS` now influences the llvm binary in the normal cmake output directory when it is set. This allows for distribution targets to only include tools they want in the llvm binary. It must be done this way because only one target can be associated with a specific output name. Differential Revision: https://reviews.llvm.org/D131310
-
Alex Brachet authored
Differential Revision: https://reviews.llvm.org/D134979
-
Fangrui Song authored
Add LLVM_LIBRARY_VISIBILITY to remove unneeded GOT and unique_ptr indirection. We can move other global variables into ctx without indirection concern. In the long term we may consider passing Ctx as a parameter to various functions and eliminate global state as much as possible and then remove `Ctx::reset`.
-
Fangrui Song authored
`config` has 1000+ uses so we try to avoid changing `config->foo`. Define a wrapper with LLVM_LIBRARY_VISIBILITY to remove unneeded GOT and unique_ptr indirection. My x86-64 lld executable is 11+KiB smaller.
-
David Green authored
This moves the struct, as it is now parsed by TargetInfo, so avoiding some includes of AST in Basic.
-
Dave Lee authored
Profiles show that `DWARFUnit::ExtractUnitDIENoDwoIfNeeded` is both high firing (tens of thousands of calls) and fast running (15 µs mean). Timers like this are noise and load for profiling systems, and can be removed. rdar://100326595 Differential Revision: https://reviews.llvm.org/D134920
-
Dave Lee authored
Profiles show that `SymbolFileDWARF::FindFunctions` is both high firing (many thousands of calls) and fast running (35 µs mean). Timers like this are noise and load for profiling systems, and can be removed. rdar://100326595 Differential Revision: https://reviews.llvm.org/D134922
-
Florian Hahn authored
This ensures PreservedCFGCheckerAnalysis is always added, independent of whether opt was built with assertions enabled or not. This fixes a few buildbot failures for bots that don't have assertions enabled.
-
- Oct 01, 2022
-
-
David Green authored
-
Paweł Bylica authored
Add two tests for D57317: Deduplicate addcarry node using commutativity. https://reviews.llvm.org/D57317
-
Florian Hahn authored
At the moment, LoopAccessAnalysis is a loop analysis for the new pass manager. The issue with that is that LAI caches SCEV expressions and modifications in a loop may impact SCEV expressions in other loops, but we do not have a convenient way to invalidate LAI for other loops withing a loop pipeline. To avoid this issue, turn it into a function analysis which returns a manager object that keeps track of the individual LAI objects per loop. Fixes #50940. Fixes #51669. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D134606
-
David Green authored
This adds support under AArch64 for the target("..") attributes. The current parsing is very X86-shaped, this patch attempts to bring it line with the GCC implementation from https://gcc.gnu.org/onlinedocs/gcc/AArch64-Function-Attributes.html#AArch64-Function-Attributes. The supported formats are: - "arch=<arch>" strings, that specify the architecture features for a function as per the -march=arch+feature option. - "cpu=<cpu>" strings, that specify the target-cpu and any implied atributes as per the -mcpu=cpu+feature option. - "tune=<cpu>" strings, that specify the tune-cpu cpu for a function as per -mtune. - "+<feature>", "+no<feature>" enables/disables the specific feature, for compatibility with GCC target attributes. - "<feature>", "no-<feature>" enabled/disables the specific feature, for backward compatibility with previous releases. To do this, the parsing of target attributes has been moved into TargetInfo to give the target the opportunity to override the existing parsing. The only non-aarch64 change should be a minor alteration to the error message, specifying using "CPU" to describe the cpu, not "architecture", and the DuplicateArch/Tune from ParsedTargetAttr have been combined into a single option. Differential Revision: https://reviews.llvm.org/D133848 -
zhongyunde authored
Change the costmodel to lower a = b * C where C = -(2^n - 2^m) to lsl w8, w0, m sub w0, w8, w0, lsl n Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D134934 -
LLVM GN Syncbot authored
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc, huixie90 Spies: huixie90, libcxx-commits, mgorny Differential Revision: https://reviews.llvm.org/D131898
-
Martin Storsjö authored
-
Filipp Zhinkin authored
Combine cmp with zero and all versions of AND, ORR, EOR and BIC instructions into S-suffixed versions. Related issue: https://github.com/llvm/llvm-project/issues/57122 Reviewed By: efriedma, samtebbs Differential Revision: https://reviews.llvm.org/D131786
-
Carl Ritson authored
VALU use of an SGPR (pair) as mask followed by SALU write to the same SGPR can cause incorrect execution of subsequent SALU reads of the SGPR. Reviewed By: foad, rampitec Differential Revision: https://reviews.llvm.org/D134151
-
Jeff Niu authored
This patch allows the type of DenseElementsAttr to be any shaped type. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D135002
-
Emilia Dreamer authored
When a compound requirement is too long to fit onto a single line, the braces are split apart onto separate lines, and the contained expression is indented. However, this indentation would also apply to the closing brace and the trailing return type requirement thereof. This was because the indentation level was being restored after all trailing things were already read With this change, the initial level of the opening brace is set before attempting to read any trailing return type requirements Fixes https://github.com/llvm/llvm-project/issues/57108 Reviewed By: HazardyKnusperkeks, owenpan, MyDeveloperDay Differential Revision: https://reviews.llvm.org/D134626
-
Craig Topper authored
If True has a Chain result, the other operands of the vmerge may depend on it through that Chain. We need to ensure it isn't a predecessor of those operands. Reviewed By: fakepaper56 Differential Revision: https://reviews.llvm.org/D134980
-
Craig Topper authored
[RISCV] Update cost of vector roundeven to match round which uses the same sequence but a different FRM value. Reviewed By: reames, eopXD Differential Revision: https://reviews.llvm.org/D134978
-
Teresa Johnson authored
Update both memprof and callsite metadata to reflect inlined functions. For callsite metadata this is simply a concatenation of each cloned call's call stack with that of the inlined callsite's. For memprof metadata, each profiled memory info block (MIB) is either moved to the cloned allocation call or left on the original allocation call depending on whether its context matches the newly refined call stack context on the cloned call. We also reapply context trimming optimizations based on the refined set of contexts on each of the calls (cloned and original). Depends on D128142. Reviewed By: snehasish Differential Revision: https://reviews.llvm.org/D128143
-
Yeting Kuo authored
Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D134935
-
Matthias Braun authored
-
Dhruva Chakrabarti authored
In preparation for OMPT target changes, create separate categories of events that will be used by OMPT target support. Split up existing macro FOREACH_OMPT_EVENT into new ones. There is no change to the original macro. Created new macros FOREACH_OMPT_HOST_EVENT, FOREACH_OMPT_DEVICE_EVENT, FOREACH_OMPT_NOEMI_EVENT, FOREACH_OMPT_EMI_EVENT, and a few other sub-categories that can be used as required. One such use is in D123974 which uses events selectively. Patch from John Mellor-Crummey <johnmc@rice.edu> Reviewed By: dreachem Differential Revision: https://reviews.llvm.org/D123429
-
Matthias Braun authored
-
wren romano authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D135000
-
Mircea Trofin authored
This reverts commit 25d65b54. There's a more thorough fix in f9317bf0
-
Mircea Trofin authored
The breaks were expected, except for the dev-mode-extra-features-logging one. XFAIL-ing to unblock bots, investigating further.
-
Matthias Braun authored
Fix a test using invalid MLIR using different VRegs for the tied operands of ADD64rr, which happened to trigger an assertion after my latest changes. Also attempting to adjust the MLRegalloc tests to the adjusted regalloc (though I don't have a 100% working setup for them even without my changes)
-
Teresa Johnson authored
This reverts commit 0d7f3464 and commit f9403ca4. The latter was "Profile matching and IR annotation for memprof profiles." and was left from a bad rebase from a commit already pushed upstream.
-
River Riddle authored
This flips all of the remaining dialects to prefixed except for linalg, which will be done in a followup. Differential Revision: https://reviews.llvm.org/D134995
-