what does clang option '-o -' mean?

I am now learning ebpf,when compiling samples/bpf in linux kernel source code, I found how the Makefile compile xx_kern.c:

  CLANG-bpf  samples/bpf/cpustat_kern.o
clang -nostdinc -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -fno-stack-protector -g \
	-Isamples/bpf -I./tools/testing/selftests/bpf/ \
	-I/home/ruge/Desktop/linux-5.19.1/samples/bpf/libbpf/include \
	-D__KERNEL__ -D__BPF_TRACING__ -Wno-unused-value -Wno-pointer-sign \
	-D__TARGET_ARCH_x86 -Wno-compare-distinct-pointer-types \
	-Wno-gnu-variable-sized-type-not-at-end \
	-Wno-address-of-packed-member -Wno-tautological-compare \
	-Wno-unknown-warning-option  \
	-fno-asynchronous-unwind-tables \
	-I./samples/bpf/ -include asm_goto_workaround.h \
	-O2 -emit-llvm -Xclang -disable-llvm-passes -c samples/bpf/cpustat_kern.c -o - | \
	opt -O2 -mtriple=bpf-pc-linux | llvm-dis | \
	llc -march=bpf  -filetype=obj -o samples/bpf/cpustat_kern.o

My question is what’s meaning of the ‘-’ symbol behind the ‘-o’ option?

-O2 -emit-llvm -Xclang -disable-llvm-passes -c samples/bpf/cpustat_kern.c -o - | \

Is it used to generate LLVM IR?

-o - means to output on the standard output, this allows here to pipe it to the next tool.

thank you so much