summaryrefslogtreecommitdiffstats
path: root/tests/run-make/llvm-ident/Makefile
blob: e583e6018e0bf5d85d6b3c6c2c863baca0184145 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
include ../tools.mk

# only-linux

all:
	# `-Ccodegen-units=16 -Copt-level=2` is used here to trigger thin LTO
	# across codegen units to test deduplication of the named metadata
	# (see `LLVMRustPrepareThinLTOImport` for details).
	echo 'fn main(){}' | $(RUSTC) - --emit=link,obj -Csave-temps -Ccodegen-units=16 -Copt-level=2 --target=$(TARGET)

	# `llvm-dis` is used here since `--emit=llvm-ir` does not emit LLVM IR
	# for temporary outputs.
	"$(LLVM_BIN_DIR)"/llvm-dis $(TMPDIR)/*.bc

	# Check LLVM IR files (including temporary outputs) have `!llvm.ident`
	# named metadata, reusing the related codegen test.
	set -e; for f in $(TMPDIR)/*.ll; do \
		$(LLVM_FILECHECK) --input-file $$f ../../codegen/llvm-ident.rs; \
	done