HomePhabricator

Revert cdcf58e5af0 "[RISCV] enable LTO support, pass some options to linker."

Authored by hans on Mon, Nov 11, 1:51 AM.

Description

Revert cdcf58e5af0 "[RISCV] enable LTO support, pass some options to linker."

This started passing target-features on the linker line, not just for RISCV but
for all targets, leading to error messages in Chromium Android build:

'+soft-float-abi' is not a recognized feature for this target (ignoring feature)
'+soft-float-abi' is not a recognized feature for this target (ignoring feature)

See Phabricator review for details.

Reverting until this can be fixed properly.

Summary:

  1. enable LTO need to pass target feature and abi to LTO code generation RISCV backend need the target feature to decide which extension used in code generation.
  2. move getTargetFeatures to CommonArgs.h and add ForLTOPlugin flag
  3. add general tools::getTargetABI in CommonArgs.h because different target uses different way to get the target ABI.

    Patch by Kuan Hsu Chen (khchen)

    Reviewers: lenary, lewis-revill, asb, MaskRay

    Reviewed By: lenary

    Subscribers: hiraditya, dschuff, aheejin, fedor.sergeev, mehdi_amini, inglorion, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones, steven_wu, rogfer01, MartinMosbeck, brucehoult, the_o, dexonsmith, rkruppe, PkmX, jocewei, psnobl, benna, Jim, lenary, s.egerton, pzheng, cfe-commits

    Tags: #clang

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