[all-commits] [llvm/llvm-project] 22225c: [Coroutines] Handle lifetime markers, bitcast and ...

Chuanqi Xu via All-commits all-commits at lists.llvm.org
Wed Jan 12 00:00:05 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 22225cc5e6654eea3f9f1599e6dfc07fc979db62
      https://github.com/llvm/llvm-project/commit/22225cc5e6654eea3f9f1599e6dfc07fc979db62
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2022-01-12 (Wed, 12 Jan 2022)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/test/Transforms/Coroutines/coro-split-musttail5.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll

  Log Message:
  -----------
  [Coroutines] Handle lifetime markers, bitcast and unused instruciton for symmetric transfer

This fixes bug49888. The root cause for this is that
simplifyTerminatorLeadingToRet didn't handle lifetime markers well.
Another issue also noted in D116327 is that we deleted some inlined
optimization pass in CoroSplit so that simplifyTerminatorLeadingToRet
need to remove dead instructions by hand.

This patch fixes bug49888 by skipping lifetime markers and bitcast
instruction and removing dead instructions by hand in
simplifyTerminatorLeadingToRet.

Reviewed By: junparser

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




More information about the All-commits mailing list