LLVM  16.0.0git
Macros
MarkupFilter.cpp File Reference
#include "llvm/DebugInfo/Symbolize/MarkupFilter.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/DebugInfo/DIContext.h"
#include "llvm/DebugInfo/Symbolize/Markup.h"
#include "llvm/DebugInfo/Symbolize/Symbolize.h"
#include "llvm/Debuginfod/Debuginfod.h"
#include "llvm/Demangle/Demangle.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/WithColor.h"
#include "llvm/Support/raw_ostream.h"
#include <optional>
Include dependency graph for MarkupFilter.cpp:

Go to the source code of this file.

Macros

#define ASSIGN_OR_RETURN_NONE(TYPE, NAME, EXPR)
 

Detailed Description

This file defines the implementation of a filter that replaces symbolizer markup with human-readable expressions.

See https://llvm.org/docs/SymbolizerMarkupFormat.html

Definition in file MarkupFilter.cpp.

Macro Definition Documentation

◆ ASSIGN_OR_RETURN_NONE

#define ASSIGN_OR_RETURN_NONE (   TYPE,
  NAME,
  EXPR 
)
Value:
auto NAME##Opt = (EXPR); \
if (!NAME##Opt) \
return None; \
TYPE NAME = std::move(*NAME##Opt)
move
compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional move
Definition: README.txt:546
llvm::None
constexpr std::nullopt_t None
Definition: None.h:27