1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/test/Verifier
Michael J. Spencer 9f6a23f8c6 [Instrumentation] Add Call Graph Profile pass
This patch adds support for generating a call graph profile from Branch Frequency Info.

The CGProfile module pass simply gets the block profile count for each BB and scans for call instructions. For each call instruction it adds an edge from the current function to the called function with the current BB block profile count as the weight.

After scanning all the functions, it generates an appending module flag containing the data. The format looks like:

!llvm.module.flags = !{!0}

!0 = !{i32 5, !"CG Profile", !1}
!1 = !{!2, !3, !4} ; List of edges
!2 = !{void ()* @a, void ()* @b, i64 32} ; Edge from a to b with a weight of 32
!3 = !{void (i1)* @freq, void ()* @a, i64 11}
!4 = !{void (i1)* @freq, void ()* @b, i64 20}

Differential Revision: https://reviews.llvm.org/D48105

llvm-svn: 335306
2018-06-21 23:31:10 +00:00
..
2002-04-13-RetTypes.ll
2002-11-05-GetelementptrPointers.ll
2004-05-21-SwitchConstantMismatch.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2006-07-11-StoreStruct.ll
2006-10-15-AddrLabel.ll
2006-12-12-IntrinsicDefine.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
2007-12-21-InvokeParamAttrs.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2008-01-11-VarargAttrs.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2008-03-01-AllocaSized.ll
2008-11-15-RetVoid.ll
2009-05-29-InvokeResult1.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2009-05-29-InvokeResult2.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2009-05-29-InvokeResult3.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2010-08-07-PointerIntrinsic.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
alias.ll
align-md.ll
alloc-size-failedparse.ll
allocsize.ll
AmbiguousPhi.ll
amdgpu-cc.ll Verifier: Check some amdgpu calling convention restrictions 2017-04-04 18:43:11 +00:00
atomics.ll
bitcast-address-space-nested-global-cycle.ll
bitcast-address-space-nested-global.ll
bitcast-address-space-through-constant-inttoptr-inside-gep-instruction.ll
bitcast-address-space-through-constant-inttoptr.ll
bitcast-address-space-through-gep-2.ll
bitcast-address-space-through-gep.ll
bitcast-address-space-through-inttoptr.ll
bitcast-address-spaces.ll
bitcast-alias-address-space.ll
bitcast-vector-pointer-as.ll
byval-1.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
byval-4.ll
callsite-dbgloc.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
cc-flags.ll Debug Info: Support DW_AT_calling_convention on composite types. 2018-01-05 01:13:37 +00:00
comdat2.ll
comdat3.ll
comdat-decl1.ll
comdat-decl2.ll
comdat.ll
cttz-undef-arg.ll
dbg-difile-crash.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-invalid-compileunit.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-invalid-named-metadata.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-invalid-retaintypes.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-invalid-vector.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
dbg-line-without-file.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-null-retained-type.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-orphaned-compileunit.ll [IR/Verifier] List the CU we weren't able to find in llvm.dbg.cu. 2017-02-20 22:51:42 +00:00
dbg-typerefs.ll
dbg.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
deoptimize-intrinsic.ll
dereferenceable-md.ll
diderivedtype-address-space-atomic-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-const-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-friend.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-inheritance.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-member.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-ptr-to-member-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-restrict-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-rvalue-reference-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-typedef.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-volatile-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diexpression-swap.ll [DebugInfo] Make legal and emit DW_OP_swap and DW_OP_xderef 2017-03-08 00:28:57 +00:00
DIFile.ll [DebugInfo] Unify ChecksumKind and Checksum value in DIFile 2018-02-12 19:45:54 +00:00
diglobalvariable.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
DILocation-parents.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
DISubprogram.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dominates.ll
element-wise-atomic-memory-intrinsics.ll Add element atomic memset intrinsic 2017-07-12 21:57:23 +00:00
fnarg-debuginfo.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
fnarg-nodebug.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
fp-intrinsics.ll Add constrained intrinsics for some libm-equivalent operations 2017-05-25 21:31:00 +00:00
fpmath.ll
fragment.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
frameescape.ll
func-dbg.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
function-metadata-bad.ll Add function importing info from samplepgo profile to the module summary. 2017-02-28 18:09:44 +00:00
function-metadata-good.ll
gc_relocate_addrspace.ll
gc_relocate_operand.ll
gc_relocate_return.ll
gcread-ptrptr.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
gcroot-alloca.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
gcroot-meta.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
gcroot-ptrptr.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
gcwrite-ptrptr.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
global-ctors.ll
guard-intrinsic.ll
ident-meta1.ll
ident-meta2.ll
ident-meta3.ll
ident-meta4.ll
inalloca1.ll
inalloca2.ll
inalloca3.ll
inalloca-vararg.ll
invalid-disubrange-count-node.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
invalid-eh.ll Change "UNSUPPORTED: windows" to be "UNSUPPORTED: system-windows" so that test is actually skipped on Windows. 2018-02-08 18:45:16 +00:00
invalid-statepoint2.ll
invalid-statepoint.ll
invoke.ll
jumptable.ll
llvm.compiler_used-invalid-type.ll
llvm.dbg.declare-address.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.declare-expression.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.declare-variable.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.intrinsic-dbg-attachment.ll Verifier: fix bug treating debug info issue as non-debug info issue 2018-01-23 16:11:15 +00:00
llvm.dbg.value-expression.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.value-value.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.value-variable.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.used-invalid-init2.ll
llvm.used-invalid-init.ll
llvm.used-invalid-type2.ll
llvm.used-invalid-type.ll
llvm.used-ptr-type.ll
mdcompositetype-templateparams-tuple.ll
mdcompositetype-templateparams.ll
memcpy.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
metadata-function-dbg.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
metadata-function-prof.ll Add function importing info from samplepgo profile to the module summary. 2017-02-28 18:09:44 +00:00
module-flags-1.ll Support for taking the max of module flags when linking, use for PIE/PIC 2017-05-23 00:08:00 +00:00
module-flags-2.ll
module-flags-3.ll
module-flags-cgprofile.ll [Instrumentation] Add Call Graph Profile pass 2018-06-21 23:31:10 +00:00
musttail-invalid.ll Tweak an assert message in the verifier 2018-04-06 10:20:19 +00:00
musttail-valid.ll
non-integer-gep-index.ll [Verifier] Check that GEP indexes has correct types 2017-12-14 09:33:58 +00:00
non-integer-gep-index.ll.bc [Verifier] Check that GEP indexes has correct types 2017-12-14 09:33:58 +00:00
non-integral-pointers.ll
operand-bundles.ll
PhiGrouping.ll
pr34325.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
range-1.ll
range-2.ll
README.txt
recursive-struct-param.ll
recursive-type-1.ll
recursive-type-2.ll
recursive-type-3.ll
resume.ll
scatter_gather.ll Support arbitrary address space pointers in masked gather/scatter intrinsics. 2017-05-03 12:28:54 +00:00
SelfReferential.ll
speculatable-callsite-invalid.ll Add speculatable function attribute 2017-04-28 20:25:27 +00:00
speculatable-callsite.ll Add speculatable function attribute 2017-04-28 20:25:27 +00:00
sret.ll
statepoint.ll
swifterror2.ll
swifterror3.ll
swifterror.ll
swiftself.ll
tbaa-allowed.ll [Verifier] Allow TBAA metadata on atomicrmw and atomiccmpxchg 2016-12-15 21:23:44 +00:00
tbaa.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
test_copy_mismatch_types.mir [GISel]: Verify COPIES involving generic registers. 2018-02-09 01:27:23 +00:00
test_copy.mir [GISel]: Verify COPIES involving generic registers. 2018-02-09 01:27:23 +00:00
test_g_phi.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
token1.ll
token2.ll
token3.ll
token4.ll
token5.ll
token6.ll
token7.ll
unsized-types.ll
varargs-intrinsic.ll
variant-part.ll Add DWARF for discriminated unions 2018-02-06 23:45:59 +00:00
writeonly.ll

This directory contains testcases that the verifier is supposed to detect as
malformed LLVM code.  Testcases for situations that the verifier incorrectly
identifies as malformed should go in the test/Assembler directory.