/llvm-project/llvm/test/CodeGen/AMDGPU/ |
H A D | resource-optimization-remarks.ll | 2 ; RUN: FileCheck -check-prefix=REMARK %s < %t 4 ; STDERR: remark: foo.cl:27:0: Function Name: test_kernel 5 ; STDERR-NEXT: remark: foo.cl:27:0: TotalSGPRs: 28 6 ; STDERR-NEXT: remark: foo.cl:27:0: VGPRs: 9 7 ; STDERR-NEXT: remark: foo.cl:27:0: AGPRs: 43 8 ; STDERR-NEXT: remark: foo.cl:27:0: ScratchSize [bytes/lane]: 0 9 ; STDERR-NEXT: remark: foo.cl:27:0: Dynamic Stack: False 10 ; STDERR-NEXT: remark: foo.cl:27:0: Occupancy [waves/SIMD]: 5 11 ; STDERR-NEXT: remark: foo.cl:27:0: SGPRs Spill: 0 12 ; STDERR-NEXT: remark [all...] |
/llvm-project/mlir/test/Dialect/Affine/ |
H A D | memref-dependence-check.mlir | 18 // expected-remark@above {{dependence from 0 to 0 at depth 1 = false}} 19 // expected-remark@above {{dependence from 0 to 0 at depth 2 = false}} 20 // expected-remark@above {{dependence from 0 to 1 at depth 1 = false}} 25 // expected-remark@above {{dependence from 1 to 1 at depth 1 = false}} 26 // expected-remark@above {{dependence from 1 to 1 at depth 2 = false}} 27 // expected-remark@above {{dependence from 1 to 0 at depth 1 = false}} 42 // expected-remark@above {{dependence from 0 to 0 at depth 1 = false}} 43 // expected-remark@above {{dependence from 0 to 0 at depth 2 = false}} 44 // expected-remark@above {{dependence from 0 to 1 at depth 1 = true}} 48 // expected-remark@above {{dependence from 1 to 1 at depth 1 = false}} [all …]
|
H A D | access-analysis.mlir | 10 // expected-remark@above {{contiguous along loop 0}} 11 // expected-remark@above {{invariant along loop 1}} 13 // expected-remark@above {{contiguous along loop 1}} 15 // expected-remark@-3 {{contiguous along loop 0}} 19 // expected-remark@above {{invariant along loop 1}} 22 // expected-remark@above {{contiguous along loop 1}} 24 // expected-remark@above {{contiguous along loop 0}} 36 // expected-remark@above {{invariant along loop 0}} 41 // expected-remark@above {{invariant along loop 0}} 66 // expected-remark@above {{contiguous along loop 3}} [all …]
|
/llvm-project/llvm/unittests/Remarks/ |
H A D | BitstreamRemarksSerializerTest.cpp | 11 #include "llvm/Remarks/Remark.h" 37 static void check(remarks::SerializerMode Mode, const remarks::Remark &R, in check() 40 // Emit the remark. in check() 55 // Analyze the serialized remark. in check() 69 static void check(const remarks::Remark &R, StringRef ExpectedR, in check() 77 checkStandalone(const remarks::Remark &R, StringRef ExpectedR, in checkStandalone() 84 remarks::Remark R; in TEST() 87 R.RemarkName = "remark"; in TEST() 93 " <Remark version codeid=2 abbrevid=5 op0=0/>\n" in TEST() 95 "<Remark BlockID=9 NumWords=1 BlockCodeSize=4>\n" in TEST() [all …]
|
H A D | BitstreamRemarksParsingTest.cpp | 10 #include "llvm/Remarks/Remark.h" 18 // 1. Parse the YAML remark -> FromYAMLRemark in parseGood() 21 // 4. Compare the remark objects in parseGood() 24 // remark parser and the bitstream remark serializer. It does simplify in parseGood() 33 std::unique_ptr<remarks::Remark> FromYAMLRemark = nullptr; in parseGood() 35 Expected<std::unique_ptr<remarks::Remark>> Remark = Parser.next(); in parseGood() local 36 EXPECT_FALSE(errorToBool(Remark.takeError())); // Check for parsing errors. in parseGood() 37 EXPECT_TRUE(*Remark != nullptr); // At least one remark. in parseGood() 38 // Keep the previous remark around. in parseGood() 39 FromYAMLRemark = std::move(*Remark); in parseGood() [all …]
|
H A D | YAMLRemarksParsingTest.cpp | 10 #include "llvm/Remarks/Remark.h" 24 Expected<std::unique_ptr<remarks::Remark>> Remark = Parser.next(); in parseGood() local 25 EXPECT_FALSE(errorToBool(Remark.takeError())); // Check for parsing errors. in parseGood() 26 EXPECT_TRUE(*Remark != nullptr); // At least one remark. in parseGood() 27 Remark = Parser.next(); in parseGood() 28 Error E = Remark.takeError(); in parseGood() 40 Expected<std::unique_ptr<remarks::Remark>> Remark = Parser.next(); in parseGoodMeta() local 41 EXPECT_FALSE(errorToBool(Remark.takeError())); // Check for parsing errors. in parseGoodMeta() 42 EXPECT_TRUE(*Remark != nullptr); // At least one remark. in parseGoodMeta() 43 Remark = Parser.next(); in parseGoodMeta() [all …]
|
/llvm-project/clang/test/Modules/ |
H A D | Rmodule-import.m | 14 // RUN: FileCheck %s -implicit-check-not "remark:" 17 expected-remark-re{{building module 'A' as '{{.*[/\\]}}A.pcm'}} \ 18 expected-remark{{finished building module 'A'}} \ 19 expected-remark-re{{importing module 'A' from '{{.*[/\\]}}A.pcm'}} \ 20 expected-remark-re{{importing module 'B' into 'A' from '{{.*[/\\]}}B.pcm'}} \ 21 expected-remark-re{{importing module 'C' into 'B' from '{{.*[/\\]}}C.pcm'}} 22 // CHECK: remark: building module 'A' 23 // CHECK: remark: building module 'B' 24 // CHECK: remark: building module 'C' 25 // CHECK: remark: finished building module 'C' [all …]
|
H A D | implicit-invalidate-chain.c | 33 // RUN: FileCheck %s -implicit-check-not "remark:" 36 expected-remark-re{{importing module 'A' from '{{.*[/\\]}}A.pcm'}} \ 37 expected-remark-re{{importing module 'B' into 'A' from '{{.*[/\\]}}B.pcm'}} \ 38 expected-remark-re{{importing module 'C' into 'B' from '{{.*[/\\]}}C.pcm'}} \ 39 expected-remark-re{{importing module 'D' into 'C' from '{{.*[/\\]}}D.pcm'}} \ 40 expected-remark-re{{building module 'A' as '{{.*[/\\]}}A.pcm'}} \ 41 expected-remark{{finished building module 'A'}} \ 42 expected-remark-re{{importing module 'A' from '{{.*[/\\]}}A.pcm'}} \ 43 expected-remark-re{{importing module 'B' into 'A' from '{{.*[/\\]}}B.pcm'}} \ 44 expected-remark-re{{importing module 'C' into 'B' from '{{.*[/\\]}}C.pcm'}} \ [all …]
|
H A D | relative-import-path.c | 12 // RUN: FileCheck %s -implicit-check-not "remark:" -DWORKDIR=%t 15 // CHECK: remark: building module 'A' 16 // CHECK: remark: building module 'B' 17 // CHECK: remark: building module 'C' 18 // CHECK: remark: finished building module 'C' 19 // CHECK: remark: importing module 'C' from '[[WORKDIR]]{{[/\\]cache[/\\]}}C.pcm' 20 // CHECK: remark: finished building module 'B' 21 // CHECK: remark: importing module 'B' from '[[WORKDIR]]{{[/\\]cache[/\\]}}B.pcm' 22 // CHECK: remark: importing module 'C' into 'B' from '[[WORKDIR]]{{[/\\]cache[/\\]}}C.pcm' 23 // CHECK: remark: finished building module 'A' [all …]
|
/llvm-project/llvm/test/tools/dsymutil/X86/ |
H A D | remarks-linking-archive.text | 7 Check that the remark file in the bundle exists and is sane: 12 Check that the remark file in the bundle exists and is sane: 15 Check that we don't error if we're missing remark files from an archive, but we warn instead. 22 CHECK: <Remark Num 23 CHECK: <Remark Num 24 CHECK: <Remark Num 25 CHECK: <Remark Num 26 CHECK: <Remark Num 27 CHECK: <Remark Num 28 CHECK: <Remark Nu [all...] |
H A D | remarks-linking-bundle.test | 7 Check that the remark file in the bundle exists and is sane: 12 Check that the remark file in the bundle exists and is sane: 23 CHECK: <Remark Num 24 CHECK: <Remark Num 25 CHECK: <Remark Num 26 CHECK: <Remark Num 27 CHECK: <Remark Num 28 CHECK: <Remark Num 29 CHECK: <Remark Num 30 CHECK: <Remark Num [all …]
|
/llvm-project/llvm/include/llvm/Remarks/ |
H A D | Remark.h | 1 //===-- llvm/Remarks/Remark.h - The remark type -----------------*- C++/-*-===// 27 /// The current version of the remark entry. 30 /// The debug location used to track a remark back to the source file. 32 /// Absolute path of the source file corresponding to this remark. 64 /// The type of the remark. 96 /// A remark type used for both emission and parsing. 97 struct Remark { struct 98 /// The type of the remark. 101 /// Name of the pass that triggers the emission of this remark. 104 /// Textual identifier for the remark (single-word, camel-case). Can be used [all …]
|
/llvm-project/llvm/tools/llvm-remarkutil/ |
H A D | RemarkCounter.cpp | 29 Keys("args", cl::desc("Specify remark argument/s to count by."), 34 "Specify remark argument/s to count (accepts regular expressions)."), 37 RemarkNameOpt("remark-name", 38 cl::desc("Optional remark name to filter collection by."), 42 cl::desc("Optional remark pass name to filter collection by."), 46 "filter-arg-by", cl::desc("Optional remark arg to filter collection by."), 50 cl::desc("Optional remark name to filter collection by " 55 cl::desc("Optional remark arg to filter collection by " 60 cl::desc("Optional remark pass name to filter collection " 64 "remark 105 getValForKey(StringRef Key,const Remark & Remark) getValForKey() argument 127 filterRemark(const Remark & Remark) filterRemark() argument 150 auto &Remark = **MaybeRemark; getAllMatchingArgumentsInRemark() local 168 getGroupByKey(const Remark & Remark) getGroupByKey() argument 186 collect(const Remark & Remark) collect() argument 200 collect(const Remark & Remark) collect() argument 288 const Remark &Remark = **MaybeRemark; useCollectRemark() local [all...] |
H A D | RemarkCount.cpp | 37 "annotation-type", cl::desc("annotation-type remark to collect count for"), 43 static bool shouldSkipRemark(bool UseDebugLoc, Remark &Remark) { in shouldSkipRemark() argument 44 return UseDebugLoc && !Remark.Loc.has_value(); in shouldSkipRemark() 68 // Parse all remarks. Whenever we see an instruction count remark, output in tryInstructionCount() 73 auto &Remark = **MaybeRemark; in tryInstructionCount() local 74 if (Remark.RemarkName != "InstructionCount") in tryInstructionCount() 76 if (shouldSkipRemark(UseDebugLoc, Remark)) in tryInstructionCount() 78 auto *InstrCountArg = find_if(Remark.Args, [](const Argument &Arg) { in tryInstructionCount() 81 assert(InstrCountArg != Remark.Args.end() && in tryInstructionCount() 84 std::string Loc = Remark.Loc->SourceFilePath.str() + ":" + in tryInstructionCount() [all …]
|
/llvm-project/llvm/include/llvm-c/ |
H A D | Remarks.h | 10 |* This header provides a public interface to a remark diagnostics library. *| 39 * The type of the emitted remark. 136 * A remark emitted by the compiler. 143 * Free the resources used by the remark entry. 147 extern void LLVMRemarkEntryDispose(LLVMRemarkEntryRef Remark); 150 * The type of the remark. For example, it can allow users to only keep the 155 extern enum LLVMRemarkType LLVMRemarkEntryGetType(LLVMRemarkEntryRef Remark); 158 * Get the name of the pass that emitted this remark. 163 LLVMRemarkEntryGetPassName(LLVMRemarkEntryRef Remark); 166 * Get an identifier of the remark. [all …]
|
/llvm-project/flang/test/HLFIR/ |
H A D | memory-effects.fir | 4 // expected-remark@+1 {{operation has no memory effects}} 6 // expected-remark@+2 {{found an instance of 'allocate' on a op result, on resource '<Default>'}} 7 // expected-remark@+1 {{found an instance of 'read' on a op operand, on resource '<Default>'}} 13 // expected-remark@+1 {{operation has no memory effects}} 19 // expected-remark@+2 {{found an instance of 'allocate' on a op result, on resource '<Default>'}} 20 // expected-remark@+1 {{found an instance of 'read' on a op operand, on resource '<Default>'}} 26 // expected-remark@+1 {{operation has no memory effects}} 32 // expected-remark@+2 {{found an instance of 'allocate' on a op result, on resource '<Default>'}} 33 // expected-remark@+1 {{found an instance of 'read' on a op operand, on resource '<Default>'}} 39 // expected-remark@+1 {{operation has no memory effects}} [all …]
|
/llvm-project/mlir/test/IR/ |
H A D | test-symbol-uses.mlir | 5 // expected-remark@below {{symbol_removable function successfully erased}} 7 // expected-remark@+1 {{symbol has 3 uses}} 10 // expected-remark@below {{symbol has no uses}} 11 // expected-remark@below {{found use of symbol : @symbol_foo}} 12 // expected-remark@below {{symbol contains 3 nested references}} 14 // expected-remark@+1 {{found use of symbol : @symbol_foo}} 20 // expected-remark@+1 {{found use of symbol : @symbol_foo}} 24 // expected-remark@below {{symbol has no uses}} 27 // expected-remark@+1 {{symbol has 1 use}} 30 // expected-remark@+1 {{found use of symbol : @symbol_baz}} [all …]
|
/llvm-project/flang/test/Driver/ |
H A D | optimization-remark.f90 | 36 ! REMARKS: remark: 37 ! NO-REMARKS-NOT: remark: 43 ! PASS-REGEX-LOOP-ONLY-NOT: optimization-remark.f90:77:7: remark: hoisting load [-Rpass=licm] 44 ! PASS-REGEX-LOOP-ONLY: optimization-remark.f90:79:5: remark: Loop deleted because it is in… 46 ! MISSED-REGEX-LOOP-ONLY-NOT: optimization-remark.f90:77:7: remark: failed to hoist load with loo… 47 ! MISSED-REGEX-LOOP-ONLY: optimization-remark.f90:72:4: remark: loop not vectorized [-Rpass-m… 50 ! ANALYSIS-REGEX-LOOP-ONLY: optimization-remark.f90:74:7: remark: loop not vectorized: unsafe d… 51 ! ANALYSIS-REGEX-LOOP-ONLY-NOT: remark: {{.*}}: IR instruction count changed from {{[0-9]+}} to {{[… 53 ! PASS: optimization-remark.f90:79:5: remark: Loop deleted because it is in… 55 ! MISSED: optimization-remark.f90:73:7: remark: failed to hoist load with loo… [all …]
|
/llvm-project/llvm/lib/Remarks/ |
H A D | Remark.cpp | 1 //===- Remark.cpp ---------------------------------------------------------===// 9 // Implementation of the Remark type and the C API. 13 #include "llvm/Remarks/Remark.h" 21 std::string Remark::getArgsAsMsg() const { in getArgsAsMsg() 49 void Remark::print(raw_ostream &OS) const { in print() 106 extern "C" void LLVMRemarkEntryDispose(LLVMRemarkEntryRef Remark) { in LLVMRemarkEntryDispose() argument 107 delete unwrap(Remark); in LLVMRemarkEntryDispose() 110 extern "C" LLVMRemarkType LLVMRemarkEntryGetType(LLVMRemarkEntryRef Remark) { in LLVMRemarkEntryGetType() argument 112 return static_cast<LLVMRemarkType>(unwrap(Remark)->RemarkType); in LLVMRemarkEntryGetType() 116 LLVMRemarkEntryGetPassName(LLVMRemarkEntryRef Remark) { in LLVMRemarkEntryGetPassName() argument [all …]
|
H A D | YAMLRemarkSerializer.cpp | 9 // This file provides the implementation of the YAML remark serializer using 15 #include "llvm/Remarks/Remark.h" 40 template <> struct MappingTraits<remarks::Remark *> { 41 static void mapping(IO &io, remarks::Remark *&Remark) { in mapping() 44 if (io.mapTag("!Passed", (Remark->RemarkType == Type::Passed))) in mapping() 46 else if (io.mapTag("!Missed", (Remark->RemarkType == Type::Missed))) in mapping() 48 else if (io.mapTag("!Analysis", (Remark->RemarkType == Type::Analysis))) in mapping() 51 (Remark->RemarkType == Type::AnalysisFPCommute))) in mapping() 54 (Remark->RemarkType == Type::AnalysisAliasing))) in mapping() 56 else if (io.mapTag("!Failure", (Remark->RemarkType == Type::Failure))) in mapping() [all …]
|
/llvm-project/llvm/docs/ |
H A D | Remarks.rst | 8 Introduction to the LLVM remark diagnostics 15 There are three main remark types: 58 LLVM: through remark diagnostics, or through serialized remarks. 60 Remark diagnostics 131 The minimum profile count required for an optimization remark to be 176 A typical remark serialized to YAML looks like this: 194 * ``<pass>``: the name of the pass that emitted this remark. 195 * ``<name>``: the name of the remark coming from ``<pass>``. 255 * the absolute file path to the serialized remark diagnostics: a 272 A bitstream remark stream can be identified by the magic number ``"RMRK"`` that [all …]
|
/llvm-project/llvm/test/Transforms/PGOProfile/ |
H A D | indirect_call_promotion.ll | 2 …old=0 -icp-total-percent-threshold=0 -icp-max-prom=4 2>&1 | FileCheck %s --check-prefix=PASS-REMARK 3 …d=0 -icp-total-percent-threshold=20 -icp-max-prom=4 2>&1 | FileCheck %s --check-prefix=PASS2-REMARK 5 ; PASS-REMARK: remark: <unknown>:0:0: Promote indirect call to func4 with count 1030 out of 1600 6 ; PASS-REMARK: remark: <unknown>:0:0: Promote indirect call to func2 with count 410 out of 570 7 ; PASS-REMARK: remark: <unknown>:0:0: Promote indirect call to func3 with count 150 out of 160 8 ; PASS-REMARK: remark: <unknown>:0:0: Promote indirect call to func1 with count 10 out of 10 10 ; PASS2-REMARK: remark: <unknown>:0:0: Promote indirect call to func4 with count 1030 out of 1600 11 ; PASS2-REMARK: remark: <unknown>:0:0: Promote indirect call to func2 with count 410 out of 570 12 ; PASS2-REMARK-NOT: remark: <unknown>:0:0: Promote indirect call to func3 13 ; PASS2-REMARK-NOT: remark: <unknown>:0:0: Promote indirect call to func1
|
/llvm-project/llvm/test/tools/llvm-remarkutil/count/Inputs/ |
H A D | remark-group-by.yaml | 3 Name: Remark 9 - type: remark 12 Name: Remark 18 - type: remark 21 Name: Remark 27 - type: remark 30 Name: Remark 36 - type: remark 39 Name: Remark 45 - type: remark [all …]
|
/llvm-project/mlir/test/Analysis/ |
H A D | test-match-reduction.mlir | 6 // expected-remark@below {{Testing function}} 8 // expected-remark@below {{Reduction found in output #0!}} 9 // expected-remark@below {{Reduced Value: <block argument> of type 'f32' at index: 0}} 10 // expected-remark@below {{Combiner Op: %1 = arith.addf }} 25 // expected-remark@below {{Testing function}} 29 // expected-remark@below {{Reduction found in output #0!}} 30 // expected-remark@below {{Reduced Value: %1 = affine.load }} 31 // expected-remark@below {{Combiner Op: %2 = arith.addf }} 45 // expected-remark@below {{Testing function}} 47 // expected-remark@below {{Reduction NOT found in output #0!}} [all …]
|
/llvm-project/llvm/tools/opt-viewer/ |
H A D | optrecord.py | 61 class Remark(yaml.YAMLObject): class 83 # remark text. 253 class Analysis(Remark): 269 class Passed(Remark): 277 class Missed(Remark): 300 for remark in docs: 301 remark.canonicalize() 303 if not hasattr(remark, "DebugLoc") or remark.key in all_remarks: 306 if filter_e and not filter_e.search(remark.Pass): 309 all_remarks[remark.key] = remark [all …]
|