search for: offsetinbit

Displaying 20 results from an estimated 22 matches for "offsetinbit".

Did you mean: offsetinbits
2011 Feb 25
0
[LLVMdev] DIFactory interface is going away
...param LineNo Line number. /// @param SizeInBits Member size. /// @param AlignInBits Member alignment. /// @param OffsetInBits Member offset. /// @param Flags Flags to encode member attribute, e.g. private /// @param Ty Parent type. DIType createMemberType(Stri...
2017 Sep 19
3
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
...rfDebug.cpp index 499780a173b..308b6bd2b9f 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -220,6 +220,13 @@ ArrayRef<DbgVariable::FrameIndexExpr> DbgVariable::getFrameIndexExprs() const { return A.Expr->getFragmentInfo()->OffsetInBits < B.Expr->getFragmentInfo()->OffsetInBits; }); + + auto last = std::unique(FrameIndexExprs.begin(), FrameIndexExprs.end(), + [](const FrameIndexExpr &A, const FrameIndexExpr &B) -> bool { + return A.FI == B.FI && A.Expr ==...
2009 Sep 23
2
[LLVMdev] DebugFactory
...ike int, float, etc. DIBasicType CreateBasicType(DIDescriptor Context, const std::string &Name, DICompileUnit CompileUnit, unsigned LineNumber, uint64_t SizeInBits, uint64_t AlignInBits, uint64_t OffsetInBits, unsigned Flags, unsigned Encoding); variants that take Constant*, for example, /// CreateBasicType - Create a basic type like int, float, etc. DIBasicType CreateBasicType(DIDescriptor Context, const std::string &Name, D...
2011 Feb 25
2
[LLVMdev] DIFactory interface is going away
...m SizeInBits Member size. For Ada this needs to be a Value* since it is dynamic. But presumably this interface is a direct mapping to the Dwarf specification, i.e. Dwarf itself has no way of encoding a variable size here? > /// @param AlignInBits Member alignment. > /// @param OffsetInBits Member offset. This is likewise dynamic in general. > /// @param Flags Flags to encode member attribute, e.g. private > /// @param Ty Parent type. > DIType createMemberType(StringRef Name, DIFile File, > unsigned LineNo, ui...
2011 Feb 25
2
[LLVMdev] DIFactory interface is going away
On 24/02/11 22:34, Jason Kim wrote: > On Thu, Feb 24, 2011 at 1:29 PM, Devang Patel<dpatel at apple.com> wrote: >> Hi All, >> DIFactory interface, part of DebugInfo.h, is used to emit LLVM IR constructs >> to encode debugging information. We are replacing this interface with new >> simple interface, DIBuilder. >> Here is one example that demonstrates
2017 Sep 19
0
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
...73b..308b6bd2b9f 100644 > --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp > +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp > @@ -220,6 +220,13 @@ ArrayRef<DbgVariable::FrameIndexExpr> > DbgVariable::getFrameIndexExprs() const { > return A.Expr->getFragmentInfo()->OffsetInBits < > B.Expr->getFragmentInfo()->OffsetInBits; > }); > + > + auto last = std::unique(FrameIndexExprs.begin(), FrameIndexExprs.end(), > + [](const FrameIndexExpr &A, const FrameIndexExpr &B) -> bool { > + return A...
2009 Sep 23
0
[LLVMdev] DebugFactory
On Wed, Sep 23, 2009 at 1:51 PM, Dan Gohman <gohman at apple.com> wrote: > > On Sep 22, 2009, at 4:49 PM, Talin wrote: > >> >> // Calculate the size of the specified LLVM type. >> Constant * DebugInfoBuilder::getSize(const Type * type) { >> Constant * one = ConstantInt::get(Type::Int32Ty, 1); >> return ConstantExpr::getPtrToInt( >>
2009 Sep 23
2
[LLVMdev] DebugFactory
On Sep 22, 2009, at 4:49 PM, Talin wrote: > > // Calculate the size of the specified LLVM type. > Constant * DebugInfoBuilder::getSize(const Type * type) { > Constant * one = ConstantInt::get(Type::Int32Ty, 1); > return ConstantExpr::getPtrToInt( > ConstantExpr::getGetElementPtr( > ConstantPointerNull::get(PointerType::getUnqual(type)), >
2009 Oct 02
0
[LLVMdev] DebugFactory
...DIBasicType CreateBasicType(DIDescriptor Context, const std::string > &Name, > DICompileUnit CompileUnit, unsigned > LineNumber, > uint64_t SizeInBits, uint64_t AlignInBits, > uint64_t OffsetInBits, unsigned Flags, > unsigned Encoding); > > variants that take Constant*, for example, > > /// CreateBasicType - Create a basic type like int, float, etc. > DIBasicType CreateBasicType(DIDescriptor Context, const std::string > &Name, &gt...
2020 Nov 12
2
[DebugInfo]Crash during building openmpi4.0.0
Hi folks, While building openmpi.4.0.0(Optimized debug build), using trunk clang we encountered a crash(assertion failure). Initially assertion seems trivial: [...] void llvm::DwarfExpression::addFragmentOffset(const llvm::DIExpression*): Assertion `FragmentOffset >= OffsetInBits && "overlapping or duplicate fragments"' failed. [...] But, narrowing to RC. We discovered "-O3 -enable-partial-inlining" pass which is doing some DebugInfo manipulation, later triggering this. Reproducibility: $ wget https://download.open-mpi.org/release/open-mpi...
2008 May 23
1
[LLVMdev] DebugInfoBuilder?
...reate a type descriptor for a primitive type GlobalVariable * CreateBasicTypeDescriptor( GlobalVariable * compileUnit, GlobalVariable * context, std::string & name, unsigned line, unsigned sizeInBits, unsigned alignmentInBits, unsigned offsetInBits, unsigned typeEncoding); /// Create a type descriptor for an integer type GlobalVariable * CreateIntegerTypeDescriptor( std::string & name, const IntegerType * type, bool isSigned); /// Create a type descriptor for an character type GlobalVariable * CreateChar...
2017 Sep 19
2
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
...0644 >> --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp >> +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp >> @@ -220,6 +220,13 @@ ArrayRef<DbgVariable::FrameIndexExpr> >> DbgVariable::getFrameIndexExprs() const { >> return A.Expr->getFragmentInfo()->OffsetInBits < >> B.Expr->getFragmentInfo()->OffsetInBits; >> }); >> + >> + auto last = std::unique(FrameIndexExprs.begin(), FrameIndexExprs.end(), >> + [](const FrameIndexExpr &A, const FrameIndexExpr &B) -> bool { >...
2014 Dec 19
2
[LLVMdev] question about the DIBuilder::createStructType
...then store those DIType's as the elements of > a DIArray which you pass as the 'Elements' parameter to createStructType. > > When creating a structure member, you have to specify this information : > > SizeinBits - the actual size of the member > OffsetInBits - the number of bits between the start of the > member in the layout of the structure and the start of the structure > AlignInBits - the address boundary (if any) to which the > element has to be aligned. > > Remember that on some processor architectures...
2014 Dec 18
2
[LLVMdev] question about the DIBuilder::createStructType
Hello, I'm using DIBuilder to create debugging information, I'm not clear about two things: [1] Could you help explain the meaning and the difference between"alignment" and "offset" of a type ? e.g class Actor{ int age; const char* name; } Besides, I found the denotation of createMemberType and createStructType both have "Member
2008 May 21
2
[LLVMdev] DebugInfoBuilder?
Are there any utility classes, similar to IRBuilder, for creating source level debugging info? -- Talin
2008 May 21
0
[LLVMdev] DebugInfoBuilder?
I don't think so. Contribution welcome! :-) LLVM debugging support isn't anywhere near where it needs to be. Evan On May 20, 2008, at 9:53 PM, Talin wrote: > Are there any utility classes, similar to IRBuilder, for creating > source > level debugging info? > > -- Talin > > _______________________________________________ > LLVM Developers mailing list >
2020 Nov 13
0
[DebugInfo]Crash during building openmpi4.0.0
...folks, > > While building openmpi.4.0.0(Optimized debug build), using trunk clang we encountered a crash(assertion failure). > > Initially assertion seems trivial: > […] > void llvm::DwarfExpression::addFragmentOffset(const llvm::DIExpression*): Assertion `FragmentOffset >= OffsetInBits && "overlapping or duplicate fragments"' failed. > […] > > But, narrowing to RC. We discovered “-O3 -enable-partial-inlining” pass which is doing some DebugInfo manipulation, later triggering this. > > Reproducibility: > $ wget https://download.open-mpi...
2016 Dec 07
4
[ThinLTO] Reducing imported debug metadata
...Then when parsing a METADATA_COMPOSITE_TYPE, if we are importing a module I change the calls to buildODRType and GET_OR_DISTINCT to instead create a type declaration: - pass in flags Flags|DINode::FlagFwdDecl - pass in nullptr for BaseType, Elements, VtableHolder, TemplateParams - pass in 0 for OffsetInBits Note that buildODRType will not mutate any existing DICompisiteType for that identifier found in the DITypeMap to a type declaration (FlagFwdDecl) though. This is good since we are sharing the DITypeMap with the original (destination) module, and we don't want to change any type definitions o...
2020 Nov 13
1
[DebugInfo]Crash during building openmpi4.0.0
...r at amd.com>> wrote: Hi folks, While building openmpi.4.0.0(Optimized debug build), using trunk clang we encountered a crash(assertion failure). Initially assertion seems trivial: […] void llvm::DwarfExpression::addFragmentOffset(const llvm::DIExpression*): Assertion `FragmentOffset >= OffsetInBits && "overlapping or duplicate fragments"' failed. […] But, narrowing to RC. We discovered “-O3 -enable-partial-inlining” pass which is doing some DebugInfo manipulation, later triggering this. Reproducibility: $ wget https://download.open-mpi.org/release/open-mpi/v4.0/openmp...
2018 Jul 16
3
sizeof(DIFlags)
Hi list, Is there a standards based reason why the DIFlags enum is set to uint32_t[1]? I am sure my DWARF-std-reading-fu is not up to snuff and so I cannot seem to find it. The reason I ask is that we are running out of space for our own DIFlags and would like to nail this down before deciding on an approach. Thanks! Sohail [1] The code in question: