[all-commits] [llvm/llvm-project] 075a92: [PowerPC] Do not use FISel for calls and TOC-based...

Nemanja Ivanovic via All-commits all-commits at lists.llvm.org
Mon Aug 24 14:52:22 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 075a92dea11ece9e7b7e24238fa995a42b2128d0
      https://github.com/llvm/llvm-project/commit/075a92dea11ece9e7b7e24238fa995a42b2128d0
  Author: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
  Date:   2020-08-24 (Mon, 24 Aug 2020)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCFastISel.cpp
    M llvm/test/CodeGen/PowerPC/fast-isel-pcrel.ll

  Log Message:
  -----------
  [PowerPC] Do not use FISel for calls and TOC-based accesses with PC-Rel

PC-Relative addressing introduces a fair bit of complexity for correctly
eliminating TOC accesses. FastISel does not include any of that handling so we
miscompile code with -mcpu=pwr10 -O0 if it includes an external call that
FastISel does not handle followed by any of the following:

    Floating point constant materialization
    Materialization of a GlobalValue
    Call that FastISel does handle

This patch switches to SDISel for any of the above.

Differential revision: https://reviews.llvm.org/D86343




More information about the All-commits mailing list