enum Tag : uint16_t;
}
+class DbgVariableIntrinsic;
+
extern cl::opt<bool> EnableFSDiscriminator;
class DITypeRefArray {
static const FragmentInfo DefaultFragment;
public:
+ DebugVariable(const DbgVariableIntrinsic *DII);
+
DebugVariable(const DILocalVariable *Var, Optional<FragmentInfo> FragmentInfo,
const DILocation *InlinedAt)
: Variable(Var), Fragment(FragmentInfo), InlinedAt(InlinedAt) {}
#include "llvm/ADT/StringSwitch.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/IR/Function.h"
+#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Value.h"
const DIExpression::FragmentInfo DebugVariable::DefaultFragment = {
std::numeric_limits<uint64_t>::max(), std::numeric_limits<uint64_t>::min()};
+DebugVariable::DebugVariable(const DbgVariableIntrinsic *DII)
+ : Variable(DII->getVariable()),
+ Fragment(DII->getExpression()->getFragmentInfo()),
+ InlinedAt(DII->getDebugLoc().getInlinedAt()) {}
+
DILocation::DILocation(LLVMContext &C, StorageType Storage, unsigned Line,
unsigned Column, ArrayRef<Metadata *> MDs,
bool ImplicitCode)