- Jan 30, 2024
-
-
Yi Wu authored
There is no `SHL` used in canonicalization in `arith` --------- Co-authored-by:
Jakub Kuderski <kubakuderski@gmail.com> Co-authored-by:
Tobias Gysi <tobias.gysi@nextsilicon.com>
-
Shengchen Kan authored
-
Mehdi Amini authored
Reverts llvm/llvm-project#78120 Buildbot is broken: llvm/lib/Support/RISCVISAInfo.cpp:910:18: error: call to deleted constructor of 'llvm::Error' return E; ^ -
Timm Bäder authored
when possible.
-
Pierre van Houtryve authored
Otherwise SCEV asserts `Can't extend pointer!` Fixes SWDEV-442670
-
Alexandros Lamprineas authored
This patch follows the latest ACLE specification as shown in PR https://github.com/ARM-software/acle/pull/279. It adjusts the priorities for FEAT_DOTPROD, FEAT_SM4, FEAT_FP16FML, FEAT_RDM.
-
Gábor Spaits authored
Add tests for empty pack deduction from function arguments.
-
Nikita Popov authored
-
Timm Bäder authored
-
David Spickett authored
And link to it from the GitHub guide. Since it fits in the flow of the former document better, but is of interest to those using the GitHub specific guide. This includes some content I wrote for an automated PR comment but I think is useful to have in a single place to link to instead. I have removed some details: * About the waterfall view because it doesn't seem that useful to new contributors and is likely to just seem like constant chaos given how many builds are going on. * The orange bubbles in the console view. I also remember this being the case but whether it was changed, or the web UI is just not loading properly, I now see red builds that were red before that commit. So again, it seems like detail that's not needed for a new contributor.
-
Jie Fu authored
llvm-project/llvm/lib/Target/X86/X86CompressEVEX.cpp:233:15: error: '&&' within '||' [-Werror,-Wlogical-op-parentheses] if (!IsND && !IsMovberr || !isRedundantNewDataDest(MI, ST)) ~~~~~~^~~~~~~~~~~~~ ~~ llvm-project/llvm/lib/Target/X86/X86CompressEVEX.cpp:233:15: note: place parentheses around the '&&' expression to silence this warning if (!IsND && !IsMovberr || !isRedundantNewDataDest(MI, ST)) ^ ( ) 1 error generated. -
Guillaume Chatelet authored
This test is platform agnostic, it runs all tests on all architectures.
-
Markus Böck authored
Specifying an enum case of an enum attr currently requires the use of either `NativeCodeCall` or a `ConstantAttr` specifying the full C++ name of the enum case. The disadvantages of both are less readable code due to including C++ expressions and very few checks of any kind, creating C++ code that does not compile instead. This PR adds `ConstantEnumCase`, a kind of `ConstantAttr` which automatically derives the correct value representation from a given enum and the string representation of an enum case. It supports both `EnumAttrInfo`s (enums wrapping `IntegerAttr`) and `EnumAttr` (proper dialect attributes). It even supports bit-enums, allowing one to list multiple enum cases and have them be combined. If an enum case is not found, an assertion is triggered with a proper error message. Besides the tests, it was also used to simplify DRR patterns in the arith dialect.
-
Timm Bäder authored
The class member is already const.
-
XinWang10 authored
APX promoted MOVBE instructions were supported in #77431. The reg2reg variants of MOVBE are newly introduced by APX and can be optimized to BSWAP instruction when the 2 register operands are same. This patch adds manual entries for MOVBErr instructions when we do ndd to non-ndd compression #77731. RFC: https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
-
Shih-Po Hung authored
This patch is split off from #77342, and follows #79103 - Correct for CodeSize cost that 1 instruction is not included. 3 is from {VMV.S, ReductionOp, VMV.X} - Add SplitCost which chains a series of VMAX/VMIN/... which scales with LMUL. - Use MVT to estimate VL. -
Kyungwoo Lee authored
This supports dead-strip for objc stubs.
-
ampandey-1995 authored
Assertion failure `(i >= FTy->getNumParams() || FTy->getParamType(i) == Args[i]->getType()) && "Calling a function with a bad signature!"'. The 'llvm.memcpy' intercepted by ASan instrumentation pass is implemented by it's own __asan_memcpy implementation. The second argument of llvm.memcpy accepts ptr to addrspace(4), __asan_memcpy also has to follow ptr to addrspace(4) convention. --------- Co-authored-by:Amit Pandey <amit.pandey@amd.com>
-
Piyou Chen authored
Follow https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/14 by dropping the order requirement of `-march`. 1. single-letter extension can be arbitrary order - march=rv32iamdf 2. single-letter extension and multi-letter extension can be mixed - march=rv32i_zihintntl_m_a_f_d_svinval 3. multi-letter extension need seperate the following extension by underscore, otherwise it will be intreprete as one extension. - march=rv32i_zbam -> i,zbam - march=rv32i_zba_m -> i,zba,m
-
XinWang10 authored
[X86][MC] Support encoding optimization & assembler relaxation about immediate operands for APX instructions (#78545) Encoding optimization: ``` mi/mi32 -> mi8 ri/ri32 -> ri8 ``` if the immediate operand is 8-bit wide. Assembler relaxation: ``` mi8 -> mi/mi32 ri8 -> ri/ri32 ``` If the immediate operand is a symbol expression and it's value is unknown.
-
Craig Topper authored
[RISCV] Don't use pointer operand in MemoryLocation for RISC-V strided and indexed load/store intrinsics. (#79890) It seems that even though we set the size to unknown, there is still an assumption in alias analysis somewhere that we will only access bytes *after* the pointer. Since a strided/indexed load/store can have negative indices, this is not accurate. This was found in our downstream when the scheduler reordered a strided load with negative stride above a scalar store that aliased with it.
-
Po-yao Chang authored
Exclude some using-declarations in the module purview when compiling with `-fno-char8_t`.
-
Rob Suderman authored
The canonicalization incrementally converts foldable dynamic hi/lo padding to static hi/lo values. During this canonicalization the static-fied valued should be removed from the dynamic values.
-
Arthur Eubanks authored
Followup to #79884. The linker adds __start_foo/__stop_foo symbols pointing to the beginning/end of the foo section. These can be far away from text, so treat them as large symbols under the medium/large code models. Performance to access these is almost certainly not important.
-
Jakub Kuderski authored
Clean up the code before making more substantial changes. NFC modulo extra error checking and physical storage buffer storage class handling. * Add switch case for physical storage buffer * Handle type conversion failures * Inline methods to reduce scrolling * Other minor cleanups
-
Matt Arsenault authored
Fixes #79736
-
Matt Arsenault authored
Fixes #79737
-
Matt Arsenault authored
Fixes #79738
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Cyndy Ishida authored
ObjCInterfaceRecords roughly align to the objc-classes key in tbd-files. They condensely represent up to 3 symbols. The problem here is that when represented this way, we lose granularity when these symbols could have different linkages or outright don't exist. This can happen frequently in interoptable code generated by the swift compiler. This adds fields and utility functions to express unique properties for these symbols. If the record does represent the same properties across all of its symbols, it will be treated the same in the TBD. Otherwise it will be printed in global's section. Reviewed seperately before by Juergen Ributzka
-
Liao Chunyu authored
support vp.select TODO: Possibly other functions could be supported, eg: SimplifySelect() -
Jie Fu authored
llvm-project/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp:763:12: error: unused variable 'byteBitwidth' [-Werror,-Wunused-variable] unsigned byteBitwidth = 8; ^ 1 error generated. -
Maksim Panchenko authored
Fix ORC entry comparison function to cover a case with multiple terminator entries matching at the same IP.
-
Diego Caballero authored
This PR adds new patterns to improve the generated vector code for the emulation of any conversion that have to go through an i4 -> i8 type extension (only signed extensions are supported for now). This will impact any i4 -> i8/i16/i32/i64 signed extensions as well as sitofp i4 -> f8/f16/f32/f64. The asm code generated for the supported cases is significantly better after this PR for both x86 and aarch64.
-
kusmour authored
Summary: FileEntry.Dir can be empty if debug info only contains relative path. This caused an assertion failure when gsym segmentation is trying to copy a file entry with empty dir. As the fitst entry of StringTable is always empty (and is preserved), `StringOffsetMap` doesn't have key 0. Hence, `find(0)` returns `End` and `operator->()` fails the assertion Test Plan: ./bin/llvm-lit -sv llvm/test/tools/llvm-gsymutil/X86/elf-empty-dir.yaml
-
Peter Klausler authored
A recent patch to allow pFUnit to compile softened the diagnostic about indistinguishable specific procedures to a portability warning. It turns out that this was overkill -- for specific procedures containing no optional or unlimited polymorphic dummy data arguments, a diagnosis of "indistinguishable" can still be a hard error. So adjust the analysis to be tri-state: two procedures are either definitely distinguishable, definitely indistinguishable without optionals or unlimited polymorphics, or indeterminate. Emit errors as before for the definitely indistinguishable cases; continue to emit portability warnings for the indeterminate cases. When this patch is merged, all but one of the dozen or so tests that I disabled in llvm-test-suite can be re-enabled.
-