[GlobalISel] Add ISel support for @llvm.lifetime.start and @llvm.lifetime.end
authorJessica Paquette <jpaquette@apple.com>
Mon, 28 Jan 2019 19:22:29 +0000 (19:22 +0000)
committerJessica Paquette <jpaquette@apple.com>
Mon, 28 Jan 2019 19:22:29 +0000 (19:22 +0000)
commit2e35dc5185841d6e7a2653becf47f731e5f7ad5a
tree06cffe1cb7ae3e91b1ca3ca5dbe7a8174c4420b9
parent8e1a464e6ad8b81a4ae3ba3fa07a176e2ba23152
[GlobalISel] Add ISel support for @llvm.lifetime.start and @llvm.lifetime.end

This adds ISel support for lifetime markers in opt levels above O0.

It also updates the arm64-irtranslator test, and updates some AArch64 tests that
use them for added coverage.

It also adds a testcase taken from the X86 codegen tests which verified a bug
caused by lifetime markers + stack colouring in the past. This is intended to
make sure that GISel doesn't re-introduce the bug.

(This is basically a straight copy from what SelectionDAG does in
SelectionDAGBuilder.cpp)

https://reviews.llvm.org/D57187

llvm-svn: 352410
llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
llvm/test/CodeGen/AArch64/GlobalISel/dynamic-alloca-lifetime.ll [new file with mode: 0644]
llvm/test/CodeGen/AArch64/mingw-refptr.ll
llvm/test/CodeGen/AArch64/stack_guard_remat.ll