LLVM 20.0.0git
Namespaces | Macros
GenericConvergenceVerifierImpl.h File Reference

A verifier for the static rules of convergence control tokens that works with both LLVM IR and MIR. More...

#include "llvm/ADT/GenericConvergenceVerifier.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/Twine.h"
#include "llvm/IR/IntrinsicInst.h"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Macros

#define Check(C, ...)
 
#define CheckOrNull(C, ...)
 

Detailed Description

A verifier for the static rules of convergence control tokens that works with both LLVM IR and MIR.

This template implementation resides in a separate file so that it does not get injected into every .cpp file that includes the generic header.

DO NOT INCLUDE THIS FILE WHEN MERELY USING CYCLEINFO.

This file should only be included by files that implement a specialization of the relevant templates. Currently these are:

Definition in file GenericConvergenceVerifierImpl.h.

Macro Definition Documentation

◆ Check

#define Check (   C,
  ... 
)
Value:
do { \
if (!(C)) { \
reportFailure(__VA_ARGS__); \
return; \
} \
} while (false)
static GCRegistry::Add< ShadowStackGC > C("shadow-stack", "Very portable GC for uncooperative code generators")

Definition at line 34 of file GenericConvergenceVerifierImpl.h.

◆ CheckOrNull

#define CheckOrNull (   C,
  ... 
)
Value:
do { \
if (!(C)) { \
reportFailure(__VA_ARGS__); \
return {}; \
} \
} while (false)

Definition at line 42 of file GenericConvergenceVerifierImpl.h.