LLVM: lib/SandboxIR/Function.cpp Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
12
14
19
21 Ctx.getTracker()
22 .emplaceIfTracking<
25}
26
27#ifndef NDEBUG
30 OS << *F->getReturnType() << " @" << F->getName() << "(";
32 F->args(),
34 auto *SBArg = cast_or_null(Ctx.getValue(&LLVMArg));
35 if (SBArg == nullptr)
36 OS << "NULL";
37 else
38 SBArg->printAsOperand(OS);
39 },
40 [&] { OS << ", "; });
41 OS << ")";
42}
43
46 OS << " {\n";
49 *LLVMF,
52 if (BB == nullptr)
53 OS << "NULL";
54 else
55 OS << *BB;
56 },
57 [&OS] { OS << "\n"; });
58 OS << "}\n";
59}
60#endif
61
62}
This class represents an incoming formal argument to a Function.
LLVM Basic Block Representation.
This class implements an extremely fast bulk output stream that can only output to a stream.
LLVM_ABI FunctionType * getFunctionType() const
Definition Function.cpp:15
LLVM_ABI_FOR_TEST void dumpOS(raw_ostream &OS) const final
Definition Function.cpp:44
LLVM_ABI void setAlignment(MaybeAlign Align)
Sets the alignment attribute of the Function.
Definition Function.cpp:20
LLVM_ABI_FOR_TEST void dumpNameAndArgs(raw_ostream &OS) const
Definition Function.cpp:28
This class can be used for tracking most instruction setters.
llvm::Value * Val
The LLVM Value that corresponds to this SandboxIR Value.
Context & Ctx
All values point to the context.
void interleave(ForwardIterator begin, ForwardIterator end, UnaryFunctor each_fn, NullaryFunctor between_fn)
An STL-style algorithm similar to std::for_each that applies a second functor between every pair of e...
auto cast_or_null(const Y &Val)
decltype(auto) cast(const From &Val)
cast - Return the argument parameter cast to the specified type.
This struct is a compact representation of a valid (non-zero power of two) alignment.
This struct is a compact representation of a valid (power of two) or undefined (0) alignment.