search for: addfragmentoffset

Displaying 9 results from an estimated 9 matches for "addfragmentoffset".

2017 Sep 19
3
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
Hi, I'm hitting an assertion "overlapping or duplicate fragments" in the DWARF codegen in addFragmentOffset(). This originates from a duplicated dbg.declare intrinsic, declaring the same fragment twice. The duplicated call was generated by the jump threading pass. I have a patch (see below) that removes simply such duplicates, but I'm not sure whether that is the right approach. Cheers, Björn dif...
2017 Sep 19
0
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
...eDbgDeclare()/FindAllocaDbgDeclare() all seems to think there is only one dbg.declare connected to one alloca. At least they all ignore all except the first one found. Later loop unroll comes and unrolls the loop and then suddenly we have two absolutely identical dbg.declares and the assert in addFragmentOffset() blows. Who's at fault? There is also an existing testcase that checks that there _are_ indeed two dbg.declares to a single alloca: Transforms/Inline/alloca-dbgdeclare-merge.ll Regards, Mikael On 09/19/2017 02:27 PM, Björn Steinbrink via llvm-dev wrote: > Hi, > > I'm hitting...
2017 Sep 19
2
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
...clare()/FindAllocaDbgDeclare() all seems to think there is only one dbg.declare connected to one alloca. At least they all ignore all except the first one found. > > Later loop unroll comes and unrolls the loop and then suddenly we have two absolutely identical dbg.declares and the assert in addFragmentOffset() blows. Who's at fault? Without having read the code yet, my intuition says that the unroller should not be duplicating dbg.declares, only dbg.values. -- adrian > > There is also an existing testcase that checks that there _are_ indeed two dbg.declares to a single alloca: Transforms/...
2017 Sep 19
0
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
On Tue, Sep 19, 2017 at 8:40 AM, Adrian Prantl via llvm-dev < llvm-dev at lists.llvm.org> wrote: > > Later loop unroll comes and unrolls the loop and then suddenly we have > two absolutely identical dbg.declares and the assert in addFragmentOffset() > blows. Who's at fault? > > Without having read the code yet, my intuition says that the unroller > should not be duplicating dbg.declares, only dbg.values. > I think it's a bug in both places: the backend should tolerate identical, duplicate dbg.declares, and the loop un...
2017 Sep 19
3
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
...wrote: > > On Tue, Sep 19, 2017 at 8:40 AM, Adrian Prantl via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > > Later loop unroll comes and unrolls the loop and then suddenly we have two absolutely identical dbg.declares and the assert in addFragmentOffset() blows. Who's at fault? > > Without having read the code yet, my intuition says that the unroller should not be duplicating dbg.declares, only dbg.values. > > I think it's a bug in both places: the backend should tolerate identical, duplicate dbg.declares, I guess that's...
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....
2017 Sep 20
0
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
...Sep 19, 2017 at 8:40 AM, Adrian Prantl via llvm-dev >> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: >> >> > Later loop unroll comes and unrolls the loop and then suddenly we have two absolutely identical dbg.declares and the assert in addFragmentOffset() blows. Who's at fault? >> >> Without having read the code yet, my intuition says that the >> unroller should not be duplicating dbg.declares, only dbg.values. >> >> >> I think it's a bug in both places: the backend should tolerate >> iden...
2020 Nov 13
0
[DebugInfo]Crash during building openmpi4.0.0
...mar, Sourabh Singh <SourabhSingh.Tomar 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 t...
2020 Nov 13
1
[DebugInfo]Crash during building openmpi4.0.0
...r, Sourabh Singh <SourabhSingh.Tomar at amd.com<mailto:SourabhSingh.Tomar 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. Reproducib...