[all-commits] [llvm/llvm-project] 85c30f: [X86] Reland D71360 Clean up UseInitArray initiali...

Fangrui Song via All-commits all-commits at lists.llvm.org
Fri Mar 20 21:58:23 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 85c30f3374d9f7f1124241ab09ce377fcb08d24d
      https://github.com/llvm/llvm-project/commit/85c30f3374d9f7f1124241ab09ce377fcb08d24d
  Author: Fangrui Song <maskray at google.com>
  Date:   2020-03-20 (Fri, 20 Mar 2020)

  Changed paths:
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp
    M llvm/lib/Target/Lanai/LanaiTargetObjectFile.cpp
    M llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
    M llvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp
    M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
    M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
    M llvm/lib/Target/X86/X86TargetMachine.cpp
    M llvm/lib/Target/X86/X86TargetObjectFile.cpp
    M llvm/lib/Target/X86/X86TargetObjectFile.h
    M llvm/test/CodeGen/X86/constructor.ll
    M llvm/test/CodeGen/X86/init-priority.ll
    M llvm/tools/llc/llc.cpp

  Log Message:
  -----------
  [X86] Reland D71360 Clean up UseInitArray initialization for X86ELFTargetObjectFile

-fuse-init-array is now the CC1 default but TargetLoweringObjectFileELF::UseInitArray still defaults to false.
The following two unknown OS target triples continue using .ctors/.dtors because InitializeELF is not called.

clang -target i386 -c a.c
clang -target x86_64 -c a.c

This cleanup fixes this as a bonus.

X86SpeculativeLoadHardeningPass::tracePredStateThroughCall can call
MCContext::createTempSymbol before TargetLoweringObjectFileELF::Initialize().
We need to call TargetLoweringObjectFileELF::Initialize() ealier.

test/CodeGen/X86/speculative-load-hardening-indirect.ll

Differential Revision: https://reviews.llvm.org/D71360




More information about the All-commits mailing list