[all-commits] [llvm/llvm-project] 6c67ee: [MC] Fix PR45805: infinite recursion in assembler

RoboTux via All-commits all-commits at lists.llvm.org
Thu Jun 25 07:43:07 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6c67ee0f58323fe39db84635ef8cea629c2214b4
      https://github.com/llvm/llvm-project/commit/6c67ee0f58323fe39db84635ef8cea629c2214b4
  Author: Thomas Preud'homme <thomasp at graphcore.ai>
  Date:   2020-06-25 (Thu, 25 Jun 2020)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmLayout.h
    M llvm/include/llvm/MC/MCFragment.h
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/MC/MCFragment.cpp
    A llvm/test/MC/AsmParser/layout-interdependency.s

  Log Message:
  -----------
  [MC] Fix PR45805: infinite recursion in assembler

Give up folding an expression if the fragment of one of the operands
would require laying out a fragment already being laid out. This
prevents hitting an infinite recursion when a fill size expression
refers to a later fragment since computing the offset of that fragment
would require laying out the fill fragment and thus computing its size
expression.

Reviewed By: echristo

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




More information about the All-commits mailing list