Commit
2c12b056bececd3fce3d5a3b731b4ff8fa6dfbbb
by sbc[lld][WebAssembly] Allow globals imports via import_name/import_module
This feature already exists but was limited to function symbols.
Differential Revision: https://reviews.llvm.org/D87666
|
 | lld/test/wasm/mutable-globals.s |
 | lld/wasm/Relocations.cpp |
Commit
380e746bcca87baa5c746854b44d6a5cea6f7bde
by ikudrin[DebugInfo] Fix methods of AsmPrinter to emit values corresponding to the DWARF format (1/19).
These methods are used to emit values which are 32-bit in DWARF32 and 64-bit in DWARF64. The patch fixes them so that they choose the length automatically, depending on the DWARF format set in the Context.
Differential Revision: https://reviews.llvm.org/D87008
|
 | llvm/unittests/CodeGen/CMakeLists.txt |
 | llvm/unittests/CodeGen/TestAsmPrinter.cpp |
 | llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp |
 | llvm/unittests/CodeGen/TestAsmPrinter.h |
 | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp |
 | llvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp |
 | llvm/include/llvm/CodeGen/AsmPrinter.h |
Commit
a8058c6f8d1d3a360986f05b74f548995b384fcd
by ikudrin[DebugInfo] Fix DIE value emitters to be compatible with DWARF64 (2/19).
DW_FORM_sec_offset and DW_FORM_strp imply values of different sizes with DWARF32 and DWARF64. The patch fixes DIE value classes to use correct sizes when emitting their values. For DIELocList it ensures that the requested DWARF form matches the current DWARF format because that class uses a method that selects the size automatically.
Differential Revision: https://reviews.llvm.org/D87009
|
 | llvm/lib/CodeGen/AsmPrinter/DIE.cpp |
 | llvm/unittests/CodeGen/CMakeLists.txt |
 | llvm/unittests/CodeGen/DIETest.cpp |
Commit
c3c501f5d79130fe9bbe4f6ca689f2d83f92373e
by ikudrin[DebugInfo] Add new emitting methods for values which depend on the DWARF format (3/19).
These methods are going to be used in subsequent patches.
Differential Revision: https://reviews.llvm.org/D87010
|
 | llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp |
 | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp |
 | llvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp |
 | llvm/include/llvm/CodeGen/AsmPrinter.h |
Commit
982b31fad2983eef08dbbddb2d58c635bdf6cf08
by ikudrin[DebugInfo] Add the -dwarf64 switch to llc and other internal tools (4/19).
The patch adds a switch to enable emitting debug info in the 64-bit DWARF format. Most emitter for sections will be updated in the subsequent patches, whereas for .debug_line and .debug_frame the emitters are in the MC library, which is already updated.
For now, the switch is enabled only for 64-bit ELF targets.
Differential Revision: https://reviews.llvm.org/D87011
|
 | llvm/test/DebugInfo/X86/dwarf64-support.ll |
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp |
 | llvm/test/DebugInfo/X86/debug-line-dwarf64.ll |
 | llvm/test/DebugInfo/X86/debug-frame-dwarf64.ll |
Commit
5dd1c59188988a030dfc80bd20729534f3a41b46
by ikudrin[DebugInfo] Fix emitting DWARF64 compilation units (5/19).
The patch also adds a method to choose an appropriate DWARF form to represent section offsets according to the version and the format of producing debug info.
Differential Revision: https://reviews.llvm.org/D87014
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp |
 | llvm/lib/CodeGen/AsmPrinter/DIE.cpp |
 | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h |
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp |
 | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp |
 | llvm/unittests/CodeGen/DIETest.cpp |
 | llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h |
 | llvm/test/DebugInfo/X86/debug-info-dwarf64.ll |
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h |
Commit
cae7c1eb781d591aa3d16ec6bc3a8fe1ace6e4ef
by ikudrin[DebugInfo] Use a common method to determine a suitable form for section offsts (6/19).
This is mostly an NFC patch because the involved methods are used when emitting DWO files, which is incompatible with DWARFv3, or for platforms where DWARF64 is not supported yet.
Differential Revision: https://reviews.llvm.org/D87015
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp |
 | llvm/lib/CodeGen/AsmPrinter/DIE.cpp |
 | llvm/unittests/CodeGen/DIETest.cpp |
Commit
26f1f18831342e9c5e137e68d067d7383d72f30d
by ikudrin[DebugInfo] Fix emitting the DW_AT_location attribute for 64-bit DWARFv3 (7/19).
The patch uses a common method to determine the appropriate form for the value of the attribute.
Differential Revision: https://reviews.llvm.org/D87016
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp |
 | llvm/test/DebugInfo/X86/DW_AT_location-reference.ll |
Commit
383d34c077ae7f845bf751936f59f12598e60b3e
by ikudrin[DebugInfo] Fix emitting DWARF64 .debug_str_offsets sections (8/19).
The patch fixes calculating the size of the table and emitting the unit length field.
Differential Revision: https://reviews.llvm.org/D87017
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp |
 | llvm/test/DebugInfo/X86/debug-str-offsets-dwarf64.ll |
Commit
924dc5807690f9ee0a84e407e8cb943511845bf5
by ikudrin[DebugInfo] Fix emitting DWARF64 DWO compilation units and string offset tables (9/19).
These two fixes are better to go together because llvm-dwarfdump is unable to dump a table when another one is malformed.
Differential Revision: https://reviews.llvm.org/D87018
|
 | llvm/test/DebugInfo/X86/debug-info-dwo-dwarf64.ll |
 | llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp |
 | llvm/test/DebugInfo/X86/debug-str-offsets-dwo-dwarf64.ll |
 | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp |
Commit
18f23b3ecc6d0cec31c655b7ae9054cf0edf630e
by ikudrin[DebugInfo] Fix emitting DWARF64 type units (10/19).
The patch fixes emitting the offset to the type DIE. All other fields are already fixed in previous patches.
Differential Revision: https://reviews.llvm.org/D87021
|
 | llvm/test/DebugInfo/X86/debug-types-dwarf64.ll |
 | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp |
 | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h |
Commit
b118030f3fa68b308d149d7d4303e0623ead0463
by ikudrin[DebugInfo] Fix emitting DWARF64 .debug_aranges sections (11/19).
The patch fixes calculating the size of the table and emitting the fields which depend on the DWARF format by using methods that choose appropriate sizes automatically.
Differential Revision: https://reviews.llvm.org/D87012
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp |
 | llvm/test/DebugInfo/X86/debug-aranges-dwarf64.ll |
Commit
03b09c6b68bbce80bea47db40ad85809d363b260
by ikudrin[DebugInfo] Fix emitting pre-v5 name lookup tables in the DWARF64 format (12/19).
The transition is done by using methods of AsmPrinter which automatically emit values in compliance with the selected DWARF format.
Differential Revision: https://reviews.llvm.org/D87013
|
 | llvm/test/DebugInfo/X86/debug-pubtables-dwarf64.ll |
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp |
Commit
f9b242fe24f764166f818b3260c0635fc0bef6e9
by ikudrin[DebugInfo] Fix emitting DWARF64 .debug_rnglists sections (13/19).
The size of the offsets in the table depends on the DWARF format.
Differential Revision: https://reviews.llvm.org/D87019
|
 | llvm/test/DebugInfo/X86/split-dwarf-v5-ranges.ll |
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp |
Commit
3158d3dd4b7e5c6e2aff7c81355757d26579f1a3
by ikudrin[DebugInfo] Fix emitting DWARF64 .debug_loclists sections (14/19).
The size of the offsets in the table depends on the DWARF format.
Differential Revision: https://reviews.llvm.org/D87020
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp |
 | llvm/test/CodeGen/X86/debug-loclists-lto.ll |
 | llvm/test/CodeGen/X86/debug-loclists.ll |
Commit
00ce54689d30fd65c49ebc87a21841e834f2d086
by ikudrin[DebugInfo] Fix emitting DWARF64 .debug_addr sections (15/19).
The patch fixes emitting the header of the table. The content is independent of the DWARF format.
Differential Revision: https://reviews.llvm.org/D87022
|
 | llvm/test/DebugInfo/X86/debug-addr-dwarf64.ll |
 | llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp |
Commit
a93dd26d8ced81d7d2e9a239a4cc33aaf0ba7c89
by ikudrin[DebugInfo] Fix emitting DWARF64 .debug_names sections (16/19).
The patch fixes emitting the unit length field in the header of the table and offsets to the entry pool. Note that while the patch changes the common method to emit offsets, in fact, nothing is changed for Apple accelerator tables, because we do not yet support DWARF64 for those targets.
Differential Revision: https://reviews.llvm.org/D87023
|
 | llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp |
 | llvm/test/DebugInfo/X86/debug-names-dwarf64.ll |
Commit
7e1e4e81cbcac6156005a31d90b604714c92298c
by ikudrin[DebugInfo] Fix emitting DWARF64 .debug_macro[.dwo] sections (17/19).
The patch fixes emitting flags and the debug_line_offset field in the header, as well as the reference to the macro string for a pre-standard GNU .debug_macro extension.
Differential Revision: https://reviews.llvm.org/D87024
|
 | llvm/test/DebugInfo/X86/debug-macro-dwarf64.ll |
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp |
Commit
8c19ac23bdefceaaf119add8d693e89a6f7d3d81
by ikudrin[DebugInfo] Make the offset of string pool entries 64-bit (18/19).
The string pool is shared among several units in the case of LTO, and it potentially can exceed the limit of 4GiB for an extremely large application. As it is now possible to emit 64-bit debugging info, the limitation can be removed.
Differential Revision: https://reviews.llvm.org/D87025
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp |
 | llvm/include/llvm/CodeGen/NonRelocatableStringpool.h |
 | llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h |
 | llvm/include/llvm/CodeGen/DwarfStringPoolEntry.h |
Commit
a845ebd6333d95d58bd6ab18c6ff8bb79686c664
by ikudrin[DebugInfo] Make offsets of dwarf units 64-bit (19/19).
In the case of LTO, several DWARF units can be emitted in one section. For an extremely large application, they may exceed the limit of 4GiB for 32-bit offsets. As it is now possible to emit 64-bit debugging info, the patch enables storing the larger offsets.
Differential Revision: https://reviews.llvm.org/D87026
|
 | llvm/lib/CodeGen/AsmPrinter/DIE.cpp |
 | llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp |
 | llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp |
 | llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp |
 | llvm/include/llvm/CodeGen/DIE.h |
Commit
26c293c23d3b5cf4135fce0b1e61b70d6c4dd930
by ditaliano[BinaryFormat/MachO] Add a missing constant.
Reference: https://opensource.apple.com/source/cctools/cctools-949.0.1/include/mach-o/loader.h.auto.html
|
 | llvm/include/llvm/BinaryFormat/MachO.h |
Commit
7b416c5e3683d7120e4ce390e669f89b6a72d423
by martin[llvm-readobj] [ARMWinEH] Print ARM64 packed unwind info
In addition to printing the individual fields, synthesize and print the corresponding prolog for the unwind info (in reverse order, to match how it's printed for non-packed unwind info).
Differential Revision: https://reviews.llvm.org/D87370
|
 | llvm/include/llvm/Support/ARMWinEH.h |
 | llvm/tools/llvm-readobj/ARMWinEHPrinter.h |
 | llvm/test/tools/llvm-readobj/COFF/arm64-packed-unwind.s |
 | llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp |
Commit
61e0b2b4c5fbbea01bb40f28ea0222b87166ccdf
by martin[LLD] Allow configuring default ld.lld backend
The motivation for this is ld.lld --help targeting MinGW which currently prints help for the ELF backend unless -m i386pe{,p} is added. This confuses build systems that grep through linker help to find supported flags.
This matches LD from Binutils which always prints help for MinGW when configured to target it.
After this change, the backend can still be overridden to any supported ELF/MinGW target by using correct -m <arch>.
Differential Revision: https://reviews.llvm.org/D87418
|
 | lld/tools/lld/lld.cpp |
 | lld/CMakeLists.txt |
Commit
e71cda21d71c4c92731ec7fe8345d04395a630b7
by martin[Windows][Polly] Disable LLVMPolly module for all compilers on Windows
Before this patch, the cmake disabled loadable modules when compiling with Visual Studio. However, the reason for this is a limitation of the Windows DLLs, thus this restriction should apply to any compiler for the Windows platform, such as MinGW, Cygwin, icc, etc.
Differential Revision: https://reviews.llvm.org/D87524
|
 | polly/lib/CMakeLists.txt |
 | polly/cmake/CMakeLists.txt |
Commit
3023f057d83a5920e39c647b7eaf677676b3a191
by Vitaly Buka[NFC][lsan][fuzzer] Relax fuzzer-leak.test
With lsan we can't guarantee to catch leak on the same iteration.
|
 | compiler-rt/test/fuzzer/fuzzer-leak.test |
Commit
c6aadd2b72cf38142f137278a483fea7eb9bd16f
by craig.topper[X86] Pre-commit test cases for D87593
The memory operand for these is incorrect.
|
 | llvm/test/CodeGen/X86/vmaskmov-offset.ll |
Commit
d74e1f3a5119ba6b2b6f49a3e5cfab10ea903d93
by Vitaly Buka[NFC][Asan] Don't use MetaData for size
Now we have enough space in the ChunkHeader. 45 bit is enough for kMaxAllowedMallocSize.
Depends on D87642.
Reviewed By: morehouse
Differential Revision: https://reviews.llvm.org/D87643
|
 | compiler-rt/lib/asan/asan_allocator.cpp |
Commit
cad961bb24d3b1ec63571e8cac6aa8b16245f95b
by Vitaly Buka[NFC][Asan] Remove from_memalign and rz_log
Before D87643 they where used to optimize UsedSize(). Which was called frequently from leak scanner. It was also used for calls from QuarantineCallback but we have heavy get_allocator().Deallocate call there anyway.
Depends on D87643.
Reviewed By: morehouse
Differential Revision: https://reviews.llvm.org/D87644
|
 | compiler-rt/lib/asan/asan_allocator.cpp |
Commit
c8ddf27ddbbe140d8acbcf1b2d3fdfbba253d02c
by Chris.HamiltonRevert "[Sema] Address-space sensitive index check for unbounded arrays"
This reverts commit da55e9ba1273284f1af61bceeaeb25e487838034.
Build bots uncovered coverage gap in testing. Change not ready.
|
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/lib/Sema/SemaChecking.cpp |
 | clang/test/Sema/const-eval.c |
 | clang/test/Sema/unbounded-array-bounds.c |
 | clang/test/SemaCXX/constant-expression-cxx1y.cpp |
Commit
a61bb7f0980805ef13ca188892ba17f386a2347d
by Vitaly Buka[NFC][Asan] Reorder bitfields
Depends on D87644.
Reviewed By: morehouse
Differential Revision: https://reviews.llvm.org/D87645
|
 | compiler-rt/lib/asan/asan_allocator.cpp |
Commit
08507d83be15387c85edb538517b66add9dc6295
by Vitaly Buka[Asan] Cleanup kAllocBegMagic setup
Make it atomic. Wrap it into class. Set it late after chunk is initialized. Reset it soon when the chunk is still valid.
Depends on D87645.
Reviewed By: morehouse
Differential Revision: https://reviews.llvm.org/D87646
|
 | compiler-rt/lib/asan/asan_allocator.cpp |
Commit
4540d3baad06e060ba1e42c8fb60ba8c32308db5
by Vitaly Buka[NFC][Asan] Return uptr as before D87646
|
 | compiler-rt/lib/asan/asan_allocator.cpp |
Commit
943b0c8bffc55eba4cebaaffc4bd33856e271e94
by Vitaly Buka[NFC][Asan] Remove chunk pointer from metadata
kAllocBegMagic should be enough. kAllocBegMagic is already set for the Secondary allocations. kAllocBegMagic is good enough for the Primary, but it's even safer for the Secondary allocator as all allocated block are from mmap.
Depends on D87646.
Reviewed By: morehouse
Differential Revision: https://reviews.llvm.org/D87647
|
 | compiler-rt/lib/asan/asan_allocator.cpp |
Commit
69cccb3189d6e0535ab78411a37cfcccf06a58a7
by david.sherwood[SVE] Fix isLoadInvariantInLoop for scalable vectors
I've amended the isLoadInvariantInLoop function to bail out for scalable vectors for now since the invariant.start intrinsic is only ever generated by the clang frontend for thread locals or struct and class constructors, neither of which support sizeless types. In addition, the intrinsic itself does not currently support the concept of a scaled size, which makes it impossible to compare the sizes of different scalable objects, e.g. <vscale x 32 x i8> and <vscale x 16 x i8>.
Added new tests here:
Transforms/LICM/AArch64/sve-load-hoist.ll Transforms/LICM/hoisting.ll
Differential Revision: https://reviews.llvm.org/D87227
|
 | llvm/test/Transforms/LICM/AArch64/sve-load-hoist.ll |
 | llvm/lib/IR/Verifier.cpp |
 | llvm/lib/Transforms/Scalar/LICM.cpp |
 | llvm/test/Transforms/LICM/AArch64/lit.local.cfg |
 | llvm/test/Transforms/LICM/hoisting.ll |
Commit
e15996b5c6e9609c5902cae12455f43d7ba97a0f
by sguelton[doc] Fix broken link
|
 | llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.rst |
Commit
c1f2fb5184ca79e9d53d51355b380c5441191878
by phosek[DebugInfo] Support both forward and backward slashes in tests
This addresses test failure revealed by 042c23506869.
|
 | lld/test/COFF/duplicate-dwarf.s |
 | lld/test/ELF/conflict-debug-variable2.s |
 | lld/test/wasm/debuginfo.test |
 | lld/test/COFF/undefined-symbol-dwarf.s |
Commit
7b58eb50d96b80323504d87ca2f39ee3d7abc7d5
by hans[Support] Make building with snmalloc work
Differential revision: https://reviews.llvm.org/D87471
|
 | llvm/lib/Support/CMakeLists.txt |
Commit
487412988cea99c94f2c58f8fa9eff34600fe684
by sjoerd.meijer[MVE] Rename of tests making them consistent with tail-predication tests. NFC.
|
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-reduce.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-reduce.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-basic.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/basic-tail-pred.ll |
Commit
9b4fa854343166dd88e4f2e135239bbf1ce0a16c
by petar.avramovicGlobalISel/IRTranslator resetTargetOptions based on function attributes
Update TargetMachine.Options with function attributes before we start to generate MIR instructions. This allows access to correct function attributes via TargetMachine.Options (it used to access attributes of the function that was translated first). This affects some existing tests with "no-nans-fp-math" attribute. Follow-up on D87456.
Differential Revision: https://reviews.llvm.org/D87511
|
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3.ll |
Commit
4845531fa88cb0f104b5afc5d99abded22623c53
by grimar[lib/Object] - Refine interface of ELFFile<ELFT>. NFCI.
`ELFFile<ELFT>` has many methods that take pointers, though they assume that arguments are never null and hence could take references instead.
This patch performs such clean-up.
Differential revision: https://reviews.llvm.org/D87385
|
 | llvm/tools/llvm-readobj/ARMEHABIPrinter.h |
 | llvm/include/llvm/Object/ELF.h |
 | lld/ELF/Arch/MipsArchTree.cpp |
 | lld/ELF/Arch/RISCV.cpp |
 | lld/ELF/Driver.cpp |
 | lld/ELF/Arch/AMDGPU.cpp |
 | llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp |
 | lld/ELF/Arch/PPC64.cpp |
 | llvm/tools/llvm-objcopy/ELF/Object.cpp |
 | llvm/lib/InterfaceStub/ELFObjHandler.cpp |
 | lld/ELF/InputSection.cpp |
 | lld/ELF/Arch/Hexagon.cpp |
 | lld/ELF/Arch/Mips.cpp |
 | lld/ELF/InputFiles.cpp |
 | llvm/include/llvm/Object/ELFObjectFile.h |
 | llvm/tools/llvm-objdump/ELFDump.cpp |
 | lld/ELF/Relocations.cpp |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
 | llvm/lib/Object/ELF.cpp |
 | llvm/tools/obj2yaml/elf2yaml.cpp |
 | llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h |
Commit
58938b544b728ccf90462a7e4854e8a533eb9296
by phosek[NFC][DebugInfo] Use consistent regex group spelling
This is a follow up to c1f2fb5184ca.
|
 | lld/test/ELF/conflict-debug-variable2.s |
 | lld/test/wasm/debuginfo.test |
Commit
bccd2ec3e216fed04c46df7077462165435703a1
by grimar[llvm-readobj/elf] - Simplify and refine the implementation which dumps .stack_sizes
Our implementation of stack sizes section dumping heavily uses `ELFObjectFile<ELFT>`, while the rest of the code uses `ELFFile<ELFT>`.
That APIs are very different. `ELFObjectFile<ELFT>` is very generic and has `SectionRef`, `RelocationRef`, `SymbolRef` and other generic concepts. The `ELFFile<ELFT>` class works directly with `Elf_Shdr`, `Elf_Rel[a]`, `Elf_Sym` etc, what is probably much cleaner for ELF dumper.
Also, `ELFObjectFile<ELFT>` API does not always provide a way to check for possible errors. E.g. the implementation of `symbol_end()` does not verify the `sh_size`:
``` template <class ELFT> basic_symbol_iterator ELFObjectFile<ELFT>::symbol_end() const { const Elf_Shdr *SymTab = DotSymtabSec; if (!SymTab) return symbol_begin(); DataRefImpl Sym = toDRI(SymTab, SymTab->sh_size / sizeof(Elf_Sym)); return basic_symbol_iterator(SymbolRef(Sym, this)); } ``` There are many other examples which makes me thing we might win from switching to `ELFFile<ELFT>` API, where we heavily validate an input data already.
This patch is the first step in this direction. I've converted the large portion of the code to use `ELFFile<ELFT>`.
Differential revision: https://reviews.llvm.org/D87362
|
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
Commit
fc446935d724e87be515eb465293d82e040eb571
by llvm-dev[X86] detectAVGPattern - accept non-pow2 vectors by padding.
Drop the pow2 vector limitation for AVG generation by padding the vector to the next pow2, creating the PAVG nodes and then extracting the final subvector.
Fixes some poor codegen that has been annoying me for years.....
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/avg.ll |
Commit
b4b1b84106a03d7b6374090bc0ff04b3a77a0862
by sjoerd.meijer[MVE] fix typo in llvm debug message. NFC.
|
 | llvm/lib/Target/ARM/MVETailPredication.cpp |
Commit
5f13d6c1eef7fa4264d143af6e7bafbb74937ccd
by llvm-dev[Transforms][Coroutines] Add missing header path to CMakeLists.txt
Helps Visual Studio check include dependencies.
|
 | llvm/lib/Transforms/Coroutines/CMakeLists.txt |
Commit
2508ef014e8b01006de4e5ee6fd451d1f68d550f
by qiucofan[SelectionDAG] Remove unused FP constant in getNegatedExpression
960cbc53 immediately removes nodes that won't be used to avoid compilation time explosion. This patch adds the removal to constants to fix PR47517.
Reviewed By: RKSimon, steven.zhang
Differential Revision: https://reviews.llvm.org/D87614
|
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/test/CodeGen/X86/pr47517.ll |
Commit
1119bf95be94950da602b268dc96dbb2110cbe15
by meera.nakrani[ARM] Corrected condition in isSaturatingConditional
Fixed a small error in an if condition to prevent usat/ssat being generated if (upper constant + 1) is not a power of 2.
|
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/test/CodeGen/ARM/usat.ll |
Commit
9eab73fa17f5920178a87ee8a5021f4fd6f0f5ef
by llvm-dev[X86] Update SSE/AVX integer MINMAX intrinsics to emit llvm.smax.* etc. (PR46851)
We're now getting close to having the necessary analysis/combines etc. for the new generic llvm smax/smin/umax/umin intrinsics.
This patch updates the SSE/AVX integer MINMAX intrinsics to emit the generic equivalents instead of the icmp+select code pattern.
Differential Revision: https://reviews.llvm.org/D87603
|
 | clang/test/CodeGen/X86/avx512vl-builtins.c |
 | clang/test/CodeGen/X86/sse2-builtins.c |
 | clang/lib/CodeGen/CGBuiltin.cpp |
 | llvm/test/CodeGen/X86/avx2-intrinsics-fast-isel.ll |
 | clang/test/CodeGen/X86/avx512bw-builtins.c |
 | llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll |
 | clang/test/CodeGen/X86/avx2-builtins.c |
 | clang/test/CodeGen/X86/avx512f-builtins.c |
 | llvm/test/CodeGen/X86/sse41-intrinsics-fast-isel.ll |
 | llvm/lib/IR/AutoUpgrade.cpp |
 | clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c |
 | clang/test/CodeGen/X86/sse41-builtins.c |
 | clang/test/CodeGen/X86/avx512vlbw-builtins.c |
Commit
b768546fe0cc1d320857a6e080d4c796efb0c00c
by benny.kraRevert "[InstCombine] Simplify select operand based on equality condition"
This reverts commit cfff88c03cf9e9b72906a41fd11e06721d54f293. Sends instcombine into an infinite loop.
``` define i1 @foo(i32 %arg, i32 %arg1) { bb: %tmp = udiv i32 %arg, %arg1 %tmp2 = mul nsw i32 %tmp, %arg1 %tmp3 = icmp eq i32 %tmp2, %arg %tmp4 = select i1 %tmp3, i32 %tmp, i32 undef %tmp5 = icmp sgt i32 %tmp4, 255 ret i1 %tmp5 } ```
|
 | llvm/test/Transforms/InstCombine/rem.ll |
 | llvm/test/Transforms/InstCombine/select-binop-cmp.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp |
 | llvm/test/Transforms/InstCombine/select.ll |
Commit
c20852300a35a33cb6bf47028f3c95a2640dab9f
by limo[mlir][integration_test] Linalg Conv folder renamed to CPU
Changing directory name to reflect naming convention discussed here: https://llvm.discourse.group/t/vectorops-rfc-add-suite-of-integration-tests-for-vector-dialect-operations/1213
Differential Revision: https://reviews.llvm.org/D87678
|
 | mlir/integration_test/Dialect/Linalg/Conv/test-conv-2d-nchw-call.mlir |
 | mlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-call.mlir |
 | mlir/integration_test/Dialect/Linalg/Conv/test-conv-3d-ncdhw-call.mlir |
 | mlir/integration_test/Dialect/Linalg/Conv/test-conv-3d-ndhwc-call.mlir |
 | mlir/integration_test/Dialect/Linalg/Conv/test-conv-1d-call.mlir |
 | mlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-ncw-call.mlir |
 | mlir/integration_test/Dialect/Linalg/Conv/test-conv-1d-nwc-call.mlir |
 | mlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-call.mlir |
 | mlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-ncdhw-call.mlir |
 | mlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-ndhwc-call.mlir |
 | mlir/integration_test/Dialect/Linalg/Conv/test-conv-2d-nhwc-call.mlir |
 | mlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-nwc-call.mlir |
 | mlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-nhwc-call.mlir |
 | mlir/integration_test/Dialect/Linalg/Conv/test-conv-2d-call.mlir |
 | mlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-call.mlir |
 | mlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-nchw-call.mlir |
 | mlir/integration_test/Dialect/Linalg/Conv/test-conv-1d-ncw-call.mlir |
 | mlir/integration_test/Dialect/Linalg/Conv/test-conv-3d-call.mlir |
Commit
967c7b6936a66878919568b94643c942cc7de69e
by zinenko[mlir] check for failures when packing function sigunatures in std->llvm conversion
When packing function results into a structure during the standard-to-llvm dialect conversion, do not assume the conversion was successful and propagate nullptr as error state.
Fixes PR45184.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D87605
|
 | mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp |
 | mlir/test/Conversion/StandardToLLVM/invalid.mlir |
Commit
cd4edf94cd43754954aff0ddabd704de0f8f7ac0
by floRecommit "[ConstraintSystem] Add helpers to deal with linear constraints."
This patch recommits "[ConstraintSystem] Add helpers to deal with linear constraints." (it reverts the revert commit 8da6ae4ce1b686c5c13698e4c5ee937811fda6f7).
The reason for the revert was using __builtin_multiply_overflow, which is not available for all compilers. The patch has been updated to use MulOverflow from MathExtras.h
|
 | llvm/lib/Analysis/CMakeLists.txt |
 | llvm/lib/Analysis/ConstraintSystem.cpp |
 | llvm/unittests/Analysis/ConstraintSystemTest.cpp |
 | llvm/include/llvm/Analysis/ConstraintSystem.h |
 | llvm/utils/convert-constraint-log-to-z3.py |
 | llvm/unittests/Analysis/CMakeLists.txt |
Commit
bee79cdcc6aa855f4abcaa1f7e7f9df54538496b
by llvm-devSelectionDAGBuilder.h - remove unnecessary includes. NFCI.
Reduce to forward declarations and move implicit dependencies down to the cpp files.
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h |
Commit
1abb4461ea03f1166c13c4dd5fa349d41d02be6a
by llvm-devStatepointLowering.cpp - remove unnecessary includes. NFCI.
These are all directly included in StatepointLowering.h
|
 | llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp |
Commit
6c1f2a34fbcaa57c3dc0de3f9e4da58da7f328b6
by llvm-devSpillPlacement.cpp - remove unnecessary includes. NFCI.
These are all directly included in SpillPlacement.h
|
 | llvm/lib/CodeGen/SpillPlacement.cpp |
Commit
a21387c65470417c58021f8d3194a4510bb64f46
by hansRevert "RegAllocFast: Record internal state based on register units"
This seems to have caused incorrect register allocation in some cases, breaking tests in the Zig standard library (PR47278).
As discussed on the bug, revert back to green for now.
> Record internal state based on register units. This is often more > efficient as there are typically fewer register units to update > compared to iterating over all the aliases of a register. > > Original patch by Matthias Braun, but I've been rebasing and fixing it > for almost 2 years and fixed a few bugs causing intermediate failures > to make this patch independent of the changes in > https://reviews.llvm.org/D52010.
This reverts commit 66251f7e1de79a7c1620659b7f58352b8c8e892e, and follow-ups 931a68f26b9a3de853807ffad7b2cd0a2dd30922 and 0671a4c5087d40450603d9d26cf239f1a8b1367e. It also adjust some test expectations.
|
 | llvm/test/CodeGen/X86/pr32345.ll |
 | llvm/test/CodeGen/X86/lvi-hardening-loads.ll |
 | llvm/test/CodeGen/AMDGPU/spill-m0.ll |
 | llvm/test/CodeGen/X86/2009-04-14-IllegalRegs.ll |
 | llvm/test/CodeGen/X86/mixed-ptr-sizes.ll |
 | llvm/test/CodeGen/X86/pr32451.ll |
 | llvm/test/CodeGen/X86/atomic32.ll |
 | llvm/test/CodeGen/PowerPC/addegluecrash.ll |
 | llvm/test/CodeGen/X86/extend-set-cc-uses-dbg.ll |
 | llvm/test/CodeGen/X86/avx512-mask-zext-bugfix.ll |
 | llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion.ll |
 | llvm/test/CodeGen/Mips/atomic.ll |
 | llvm/test/CodeGen/X86/pr30813.ll |
 | llvm/test/CodeGen/PowerPC/popcount.ll |
 | llvm/test/CodeGen/SPARC/fp16-promote.ll |
 | llvm/test/CodeGen/X86/atomic-unordered.ll |
 | llvm/test/CodeGen/X86/atomic64.ll |
 | llvm/test/CodeGen/X86/pr39733.ll |
 | llvm/test/CodeGen/X86/pr30430.ll |
 | llvm/test/CodeGen/X86/swifterror.ll |
 | llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll |
 | llvm/test/CodeGen/X86/pr47000.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/fptosi_and_fptoui.ll |
 | llvm/test/CodeGen/X86/pr32284.ll |
 | llvm/test/CodeGen/PowerPC/vsx.ll |
 | llvm/test/CodeGen/AMDGPU/partial-sgpr-to-vgpr-spills.ll |
 | llvm/test/CodeGen/ARM/legalize-bitcast.ll |
 | llvm/test/DebugInfo/X86/op_deref.ll |
 | llvm/test/CodeGen/X86/pr32241.ll |
 | llvm/test/CodeGen/AMDGPU/indirect-addressing-term.ll |
 | llvm/test/CodeGen/X86/fast-isel-nontemporal.ll |
 | llvm/test/CodeGen/X86/pr27591.ll |
 | llvm/test/CodeGen/X86/pr34592.ll |
 | llvm/test/CodeGen/AArch64/fast-isel-sp-adjust.ll |
 | llvm/test/CodeGen/AArch64/popcount.ll |
 | llvm/test/CodeGen/Mips/atomic-min-max.ll |
 | llvm/test/CodeGen/X86/pr1489.ll |
 | llvm/test/CodeGen/X86/avx-load-store.ll |
 | llvm/test/CodeGen/Mips/implicit-sret.ll |
 | llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll |
 | llvm/test/CodeGen/X86/crash-O0.ll |
 | llvm/test/CodeGen/AMDGPU/wwm-reserved.ll |
 | llvm/test/CodeGen/X86/regalloc-fast-missing-live-out-spill.mir |
 | llvm/test/CodeGen/X86/pr44749.ll |
 | llvm/lib/CodeGen/RegAllocFast.cpp |
 | llvm/test/CodeGen/X86/swift-return.ll |
 | llvm/test/CodeGen/X86/pr32340.ll |
Commit
0a2213c6eb24c9deec738e30509815e5bddd860c
by pavel[lldb/cmake] Fix testing support library dependencies
lldbUtilityHelpers does not depend on lldbSymbolHelpers. Remove that dependency, and add direct lldbSymbolHelpers dependencies where needed.
|
 | lldb/unittests/TestingSupport/CMakeLists.txt |
 | lldb/unittests/SymbolFile/DWARF/CMakeLists.txt |
 | lldb/unittests/Expression/CMakeLists.txt |
Commit
af3789a188116e400dd021bae54d91dc543aca7d
by pavel[lldb] Improve qemu interop for aarch64
qemu calls the "fp" and "lr" registers via their generic names (x29/x30). This mismatch manifested itself as not being able to unwind or display values of some local variables.
|
 | lldb/test/API/functionalities/gdb_remote_client/basic_eh_frame-aarch64.yaml |
 | lldb/test/API/functionalities/gdb_remote_client/TestQemuAArch64TargetXml.py |
 | lldb/source/Plugins/ABI/AArch64/ABIAArch64.h |
 | lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp |