mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-28 08:06:06 +00:00

This patch moves the expansion of the `PseudoCALL` insturction to `LoongArchPreRAExpandPseudo` pass. This helps to expand into different instruction sequences according to different CodeModels. Reviewed By: SixWeining Differential Revision: https://reviews.llvm.org/D137393
17 lines
552 B
LLVM
17 lines
552 B
LLVM
; RUN: llc --mtriple=loongarch64 --stop-before loongarch-prera-expand-pseudo \
|
|
; RUN: --verify-machineinstrs < %s | FileCheck %s --check-prefix=NOEXPAND
|
|
; RUN: llc --mtriple=loongarch64 --stop-after loongarch-prera-expand-pseudo \
|
|
; RUN: --verify-machineinstrs < %s | FileCheck %s --check-prefix=EXPAND
|
|
|
|
declare void @callee()
|
|
|
|
define void @caller() nounwind {
|
|
; NOEXPAND-LABEL: name: caller
|
|
; NOEXPAND: PseudoCALL target-flags{{.*}}callee
|
|
;
|
|
; EXPAND-LABEL: name: caller
|
|
; EXPAND: BL target-flags{{.*}}callee
|
|
call void @callee()
|
|
ret void
|
|
}
|