brintos

brintos / llvm-project-archived public Read only

0
0
Text · 865 B · 48546b1 Raw
34 lines · plain
1; Test that well-formed memprof and callsite metadata pass verification.2; RUN: llvm-as -disable-output < %s 2>&13 4define ptr @test1() {5entry:6  %call = call noalias dereferenceable_or_null(40) ptr @malloc(i64 noundef 40), !memprof !0, !callsite !57  ret ptr %call8}9 10define ptr @test2() {11entry:12  %call = call noundef ptr @test1(), !callsite !613  ret ptr %call14}15 16define ptr @test3() {17entry:18  %call = call noundef ptr @test1(), !callsite !719  ret ptr %call20}21 22declare dso_local noalias noundef ptr @malloc(i64 noundef)23 24!0 = !{!1, !3}25; !memprof metadata should be able to support an arbitrary list of string tags.26!1 = !{!2, !"default", !"tag2"}27!2 = !{i64 123, i64 456}28!3 = !{!4, !"cold", !"tag3", !"tag4"}29!4 = !{i64 123, i64 789, i64 678}30!5 = !{i64 123}31!6 = !{i64 456}32; Inlined callsites will have more than one call stack id.33!7 = !{i64 789, i64 678}34