[all-commits] [llvm/llvm-project] 4be86d: [IROutliner] Disallow outlining calls that return ...

Andrew Litteken via All-commits all-commits at lists.llvm.org
Tue Jan 25 11:09:50 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4be86d18c0fc97a5eab26628e2a830f914c591eb
      https://github.com/llvm/llvm-project/commit/4be86d18c0fc97a5eab26628e2a830f914c591eb
  Author: Andrew Litteken <andrew.litteken at gmail.com>
  Date:   2022-01-25 (Tue, 25 Jan 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/IROutliner.h
    A llvm/test/Transforms/IROutliner/illegal-returns-twice.ll

  Log Message:
  -----------
  [IROutliner] Disallow outlining calls that return twice.

Functions that return twice can cause the IR Outliner to miscompile the given program. These function rely on information about the stack to be the same, and this may not necessarily be the case if called from an outlined function. So, we simply call these instructions illegal for the outliner to remove.

Reviewers: paquette

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




More information about the All-commits mailing list