1. AMDGPU/GlobalISel: Remove illegal select tests (details)
  2. [ELF] Map the ELF header at imageBase (details)
  3. [ELF][X86] Allow PT_LOAD to have overlapping p_offset ranges on (details)
  4. [SystemZ]  Merge the SystemZExpandPseudo pass into SystemZPostRewrite. (details)
  5. [AArch64] Some more FP16 FMA pattern matching (details)
  6. gn build: Merge r371959 (details)
  7. [test] Add -z separate-code to fix tests that ae sensitive to exact (details)
Commit 255d157672262c5a4d5a4241d99610b02edaa459 by Matthew.Arsenault
AMDGPU/GlobalISel: Remove illegal select tests
These fail in a release build.
llvm-svn: 371955
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-constant.mir (diff)
Commit 06bb7dfbd445fe928b0ae0263ba9df1acd861c41 by maskray
[ELF] Map the ELF header at imageBase
If there is no readonly section, we map:
* The ELF header at imageBase+maxPageSize
* Program headers at imageBase+maxPageSize+sizeof(Ehdr)
* The first section .text at
imageBase+maxPageSize+sizeof(Ehdr)+sizeof(program headers)
Due to the interaction between Writer<ELFT>::fixSectionAlignments and
`alignDown(p_vaddr(R PT_LOAD)) = alignDown(p_vaddr(RX PT_LOAD))`. The RX
PT_LOAD will override the R PT_LOAD at runtime, which is not ideal:
// PHDR at 0x401034, should be 0x400034
PHDR           0x000034 0x00401034 0x00401034 0x000a0 0x000a0 R   0x4
// R PT_LOAD contains just Ehdr and program headers.
// At 0x401000, should be 0x400000
LOAD           0x000000 0x00401000 0x00401000 0x000d4 0x000d4 R 
LOAD           0x0000d4 0x004010d4 0x004010d4 0x00001 0x00001 R E
* createPhdrs allocates the headers to the R PT_LOAD.
* fixSectionAlignments assigns
`imageBase+maxPageSize+sizeof(Ehdr)+sizeof(program headers)` (formula:
`alignTo(dot, maxPageSize) + dot % config->maxPageSize`) to addrExpr of
* allocateHeaders computes the minimum address among SHF_ALLOC sections,
i.e. addr(.text)
* allocateHeaders sets address of ELF header to
`addr(.text)-sizeof(Ehdr)-sizeof(program headers) =
The main observation is that when the SECTIONS command is not used, we
don't have to call allocateHeaders. This requires an assumption that the
presence of PT_PHDR and addresses of headers can be decided regardless
of address information.
This may seem natural because dot is not manipulated by a linker script.
The other thing is that we have to drop the special rule for -T<section>
in `getInitialDot`. If -Ttext is smaller than the image base, the
headers will not be allocated with the old behavior (allocateHeaders is
called) but always allocated with the new behavior.
The behavior change is not a problem. Whether and where headers are
allocated can vary among linkers, or ld.bfd across different versions
(--enable-separate-code or not). It is thus advised to use a linker
script with the PHDRS command to have a consistent behavior across
linkers. If PT_PHDR is needed, an explicit --image-base can be a simpler
Differential Revision:
llvm-svn: 371957
The file was modifiedlld/test/ELF/basic-aarch64.s (diff)
The file was modifiedlld/ELF/Writer.cpp (diff)
The file was modifiedlld/test/ELF/basic-ppc.s (diff)
The file was modifiedlld/test/ELF/basic-sparcv9.s (diff)
The file was modifiedlld/test/ELF/basic-i386.s (diff)
The file was modifiedlld/test/ELF/ttext-tdata-tbss.s (diff)
The file was modifiedlld/ELF/LinkerScript.cpp (diff)
Commit d4306e90cb18f663342068a4ad83ba42545dbf01 by maskray
[ELF][X86] Allow PT_LOAD to have overlapping p_offset ranges on
Port the D64906 technique to EM_X86_64.
Differential Revision:
llvm-svn: 371958
The file was modifiedlld/test/ELF/got.s (diff)
The file was modifiedlld/test/ELF/x86-64-tls-gdie.s (diff)
The file was modifiedlld/test/ELF/x86-64-relax-got-abs.s (diff)
The file was modifiedlld/test/ELF/gdb-index-ranges.s (diff)
The file was modifiedlld/test/ELF/x86-64-tls-dynamic.s (diff)
The file was modifiedlld/test/ELF/fill-trap.s (diff)
The file was modifiedlld/test/ELF/avoid-empty-program-headers.s (diff)
The file was modifiedlld/test/ELF/cgprofile-txt2.s (diff)
The file was modifiedlld/test/ELF/pre_init_fini_array_missing.s (diff)
The file was modifiedlld/test/ELF/copy-rel-tls.s (diff)
The file was modifiedlld/test/ELF/entry.s (diff)
The file was modifiedlld/test/ELF/relocation-copy.s (diff)
The file was modifiedlld/test/ELF/x86-64-reloc-size.s (diff)
The file was modifiedlld/test/ELF/gdb-index-ranges-discarded.s (diff)
The file was modifiedlld/test/ELF/gdb-index-dwarf5-low-high.s (diff)
The file was modifiedlld/test/ELF/global_offset_table_shared.s (diff)
The file was modifiedlld/test/ELF/ehframe-relocation.s (diff)
The file was modifiedlld/test/ELF/copy-rel-large.s (diff)
The file was modifiedlld/test/ELF/linkerscript/absolute.s (diff)
The file was modifiedlld/test/ELF/image-base.s (diff)
The file was modifiedlld/test/ELF/relocation-copy-flags.s (diff)
The file was modifiedlld/test/ELF/cgprofile-reproduce.s (diff)
The file was modifiedlld/test/ELF/eh-align-cie.s (diff)
The file was modifiedlld/test/ELF/x86-64-plt-high-addr.s (diff)
The file was modifiedlld/test/ELF/eh-frame-merge.s (diff)
The file was modifiedlld/ELF/Writer.cpp (diff)
The file was modifiedlld/test/ELF/end-dso-defined.s (diff)
The file was modifiedlld/test/ELF/relro-bss.s (diff)
The file was modifiedlld/test/ELF/x86-64-tls-gd-local.s (diff)
The file was modifiedlld/test/ELF/Inputs/copy-rel-abs.s (diff)
The file was modifiedlld/test/ELF/symbol-ordering-file-cgprofile-conflicts.s (diff)
The file was modifiedlld/test/ELF/gdb-index-base-addr.s (diff)
The file was modifiedlld/test/ELF/relocation-non-alloc.s (diff)
The file was modifiedlld/test/ELF/x86-64-retpoline.s (diff)
The file was modifiedlld/test/ELF/eh-frame-hdr-icf-fde.s (diff)
The file was modifiedlld/test/ELF/relocatable.s (diff)
The file was modifiedlld/test/ELF/comdat.s (diff)
The file was modifiedlld/test/ELF/ztext.s (diff)
The file was modifiedlld/test/ELF/x86-64-gotpc-relax-und-dso.s (diff)
The file was modifiedlld/test/ELF/x86-64-tls-opt-noplt.s (diff)
The file was modifiedlld/test/ELF/defsym-reserved-syms.s (diff)
The file was modifiedlld/test/ELF/eh-frame-hdr-abs-fde.s (diff)
The file was modifiedlld/test/ELF/no-inhibit-exec.s (diff)
The file was modifiedlld/test/ELF/gdb-index-rng-lists.s (diff)
The file was modifiedlld/test/ELF/gnu-ifunc.s (diff)
The file was modifiedlld/test/ELF/eh-frame-value-format8.s (diff)
The file was modifiedlld/test/ELF/cgprofile-bad-clusters.s (diff)
The file was modifiedlld/test/ELF/tls.s (diff)
The file was modifiedlld/test/ELF/eh-frame-pcrel-overflow.s (diff)
The file was modifiedlld/test/ELF/abs-hidden.s (diff)
The file was modifiedlld/test/ELF/gnu-ifunc-dyntags.s (diff)
The file was modifiedlld/test/ELF/x86-64-tlsdesc-ld.s (diff)
The file was modifiedlld/test/ELF/x86-64-tls-ie.s (diff)
The file was modifiedlld/test/ELF/map-file.s (diff)
The file was modifiedlld/test/ELF/x86-64-gotpc-relax-nopic.s (diff)
The file was modifiedlld/test/ELF/x86-64-reloc-error2.s (diff)
The file was modifiedlld/test/ELF/local-got.s (diff)
The file was modifiedlld/test/ELF/x86-64-tls-ie-local.s (diff)
The file was modifiedlld/test/ELF/x86-64-reloc-gotpc64.s (diff)
The file was modifiedlld/test/ELF/basic.s (diff)
The file was modifiedlld/test/ELF/cgprofile-obj.s (diff)
The file was modifiedlld/test/ELF/undef-with-plt-addr.s (diff)
The file was modifiedlld/test/ELF/cgprofile-icf.s (diff)
The file was modifiedlld/test/ELF/symbols.s (diff)
The file was modifiedlld/test/ELF/x86-64-reloc-gotoff64.s (diff)
The file was modifiedlld/test/ELF/x86-64-reloc-range.s (diff)
The file was modifiedlld/test/ELF/edata-no-bss.s (diff)
The file was modifiedlld/test/ELF/combreloc.s (diff)
The file was modifiedlld/test/ELF/just-symbols.s (diff)
The file was modifiedlld/test/ELF/relocation-copy-align-common.s (diff)
The file was modifiedlld/test/ELF/relocation-undefined-weak.s (diff)
The file was modifiedlld/test/ELF/symbol-ordering-file-icf.s (diff)
The file was modifiedlld/test/ELF/ttext-tdata-tbss.s (diff)
The file was modifiedlld/test/ELF/gdb-index-gc-sections.s (diff)
The file was modifiedlld/test/ELF/linkerscript/synthetic-symbols3.test (diff)
The file was modifiedlld/test/ELF/x86-64-retpoline-znow-static-iplt.s (diff)
The file was modifiedlld/test/ELF/relocation-common.s (diff)
The file was modifiedlld/test/ELF/startstop-shared2.s (diff)
The file was modifiedlld/test/ELF/segments.s (diff)
The file was modifiedlld/test/ELF/x86-64-plt.s (diff)
The file was modifiedlld/test/ELF/partition-synthetic-sections.s (diff)
The file was modifiedlld/test/ELF/common-page.s (diff)
The file was modifiedlld/test/ELF/emit-relocs-icf1.s (diff)
The file was modifiedlld/test/ELF/gnu-ifunc-noplt.s (diff)
The file was modifiedlld/test/ELF/tls-offset.s (diff)
The file was modifiedlld/test/ELF/x86-64-retpoline-znow.s (diff)
The file was modifiedlld/test/ELF/rel-offset.s (diff)
The file was modifiedlld/test/ELF/edata-etext.s (diff)
The file was modifiedlld/test/ELF/eh-frame-hdr.s (diff)
The file was modifiedlld/test/ELF/local-got-shared.s (diff)
The file was modifiedlld/test/ELF/x86-64-got-plt-header.s (diff)
The file was modifiedlld/test/ELF/partition-notes.s (diff)
The file was modifiedlld/test/ELF/eh-frame-hdr-augmentation.s (diff)
The file was modifiedlld/test/ELF/gnu-ifunc-plt.s (diff)
The file was modifiedlld/test/ELF/linkerscript/symbol-reserved.s (diff)
The file was modifiedlld/test/ELF/emit-relocs.s (diff)
The file was modifiedlld/test/ELF/x86-64-gotpc-relax.s (diff)
The file was modifiedlld/test/ELF/apply-dynamic-relocs.s (diff)
The file was modifiedlld/test/ELF/end-update.s (diff)
The file was modifiedlld/test/ELF/end.s (diff)
The file was modifiedlld/test/ELF/verdef-defaultver.s (diff)
The file was modifiedlld/test/ELF/emit-relocs-mergeable.s (diff)
The file was modifiedlld/test/ELF/gnu-ifunc-canon.s (diff)
The file was modifiedlld/test/ELF/startstop.s (diff)
The file was modifiedlld/test/ELF/cgprofile-txt.s (diff)
The file was modifiedlld/test/ELF/x86-64-tlsdesc-gd.s (diff)
The file was modifiedlld/test/ELF/local-got-pie.s (diff)
The file was modifiedlld/test/ELF/linkerscript/page-size.s (diff)
The file was modifiedlld/test/ELF/eh-frame-value-format7.s (diff)
The file was modifiedlld/test/ELF/relocation.s (diff)
The file was modifiedlld/test/ELF/build-id.s (diff)
The file was modifiedlld/test/ELF/gdb-index.s (diff)
The file was modifiedlld/test/ELF/relative-dynamic-reloc-pie.s (diff)
The file was modifiedlld/test/ELF/gnu-ifunc-shared.s (diff)
The file was modifiedlld/test/ELF/relro-tls.s (diff)
The file was modifiedlld/test/ELF/Inputs/copy-rel-tls.s (diff)
The file was modifiedlld/test/ELF/common.s (diff)
The file was modifiedlld/test/ELF/partition-pack-dyn-relocs.s (diff)
The file was modifiedlld/test/ELF/relocation-copy-relro.s (diff)
Commit ca5acf5b5e7d658c14169d3061c6495b05e9bea0 by paulsson
[SystemZ]  Merge the SystemZExpandPseudo pass into SystemZPostRewrite.
SystemZExpandPseudo:s only job was to expand LOCRMux instructions into
jump sequences. This needs to be done if expandLOCRPseudo() or
expandSELRPseudo() fails to find a legal opcode (all registers "high" or
"low"). This task has now been moved to SystemZPostRewrite while
removing the SystemZExpandPseudo pass.
It is in fact preferred to expand these pseudos directly after register
allocation in SystemZPostRewrite since the hinted register combinations
are then not subject to later optimizations.
Review: Ulrich Weigand
llvm-svn: 371959
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.h (diff)
The file was removedllvm/lib/Target/SystemZ/SystemZExpandPseudo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZPostRewrite.cpp (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetMachine.cpp (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZRegisterInfo.h (diff)
The file was modifiedllvm/lib/Target/SystemZ/CMakeLists.txt (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZ.h (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.cpp (diff)
Commit b1e1a26e8e7e61c924d39ae53e2922dc4364e6bb by sjoerd.meijer
[AArch64] Some more FP16 FMA pattern matching
After our previous machinecombiner exercises (rL371321, rL371818,
rL371833), we were still missing a few FP16 FMA patterns.
Differential Revision:
llvm-svn: 371960
The file was modifiedllvm/test/CodeGen/AArch64/fp16_intrinsic_lane.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_3op.ll (diff)
The file was modifiedllvm/lib/Target/AArch64/ (diff)
Commit ac32934f2848fab6fa47013271ab16f411d180b9 by nicolasweber
gn build: Merge r371959
llvm-svn: 371961
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/SystemZ/ (diff)
Commit b026b3e53d67c258f8b750e3fc44fa1609185dee by maskray
[test] Add -z separate-code to fix tests that ae sensitive to exact
addresses after r371958
llvm-svn: 371962
The file was modifiedlldb/lit/SymbolFile/DWARF/dir-separator-windows.s (diff)
The file was modifiedlldb/lit/SymbolFile/DWARF/find-inline-method.s (diff)
The file was modifiedlldb/lit/SymbolFile/DWARF/dir-separator-posix.s (diff)
The file was modifiedlldb/lit/SymbolFile/DWARF/debug-types-address-ranges.s (diff)
The file was modifiedlldb/lit/SymbolFile/DWARF/dir-separator-no-comp-dir-relative-name.s (diff)
The file was modifiedlldb/lit/SymbolFile/DWARF/dir-separator-no-comp-dir.s (diff)