[all-commits] [llvm/llvm-project] 02265e: [Live Intervals] Teach Greedy RA to recognize spec...

serguei-katkov via All-commits all-commits at lists.llvm.org
Tue Apr 13 23:28:28 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 02265ed7ad27c9bd061b26b0ec6f2232a78097cf
      https://github.com/llvm/llvm-project/commit/02265ed7ad27c9bd061b26b0ec6f2232a78097cf
  Author: Serguei Katkov <serguei.katkov at azul.com>
  Date:   2021-04-14 (Wed, 14 Apr 2021)

  Changed paths:
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/test/CodeGen/X86/statepoint-regs.ll

  Log Message:
  -----------
  [Live Intervals] Teach Greedy RA to recognize special case live-through

Statepoint instruction has a deopt section which is actually live-through the call.
Currently this is handled by special post pass after RA - fixup-statepoint-caller-saved.

This change teaches Greedy RA that if segment of live interval is ended with statepoint
instruction and its reg is used in deopt bundle then this live interval interferes regmask of this statepoint
and as a result caller-saved register cannot be assigned to this live interval.

Reviewers: reames, dantrushin
Reviewed By: reames
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D100296




More information about the All-commits mailing list