Displaying 9 results from an estimated 9 matches for "fnscope".
2013 Dec 04
2
[LLVMdev] DwarfDebug problems
Thanks for the quick response.
I wrote some code to search “llvm.dbg.cu” for the function (right before the failed assertion):
if (TheCU == nullptr) {
errs() << "compile unit: " << TheCU << "\n scopeNode(" << FnScope->getScopeNode() << ") => " << *FnScope->getScopeNode() << "\n";
auto fn = MF->getFunction();
errs() << " fn => " << fn->getName() << "\n";
MDNode *node = nullptr;
auto mod = fn->ge...
2013 Dec 04
2
[LLVMdev] DwarfDebug problems
...sponse.
>>
>> I wrote some code to search “llvm.dbg.cu” for the function (right before the
>> failed assertion):
>>
>> if (TheCU == nullptr) {
>> errs() << "compile unit: " << TheCU << "\n scopeNode(" <<
>> FnScope->getScopeNode() << ") => " << *FnScope->getScopeNode() << "\n";
>> auto fn = MF->getFunction();
>> errs() << " fn => " << fn->getName() << "\n";
>>
>>
>>
>>...
2013 Dec 04
0
[LLVMdev] DwarfDebug problems
...> Thanks for the quick response.
>
> I wrote some code to search “llvm.dbg.cu” for the function (right before the
> failed assertion):
>
> if (TheCU == nullptr) {
> errs() << "compile unit: " << TheCU << "\n scopeNode(" <<
> FnScope->getScopeNode() << ") => " << *FnScope->getScopeNode() << "\n";
> auto fn = MF->getFunction();
> errs() << " fn => " << fn->getName() << "\n";
>
>
>
> MDNode *node = nullptr;...
2013 Dec 04
0
[LLVMdev] DwarfDebug problems
...t;> I wrote some code to search “llvm.dbg.cu” for the function (right before the
>>> failed assertion):
>>>
>>> if (TheCU == nullptr) {
>>> errs() << "compile unit: " << TheCU << "\n scopeNode(" <<
>>> FnScope->getScopeNode() << ") => " << *FnScope->getScopeNode() << "\n";
>>> auto fn = MF->getFunction();
>>> errs() << " fn => " << fn->getName() << "\n";
>>>
>>>
>&...
2013 Dec 04
2
[LLVMdev] DwarfDebug problems
...onst*, void*) + 925
> 22 clang-3.4 0x00000001033015c3 main + 7283
> 23 libdyld.dylib 0x00007fff8e68d5fd start + 1
(note the line number of the assertion is probably different because I’ve added some prints to help me debug this)
When I print the MDNode returned by “FnScope->getScopeNode()”, I get lots of <badref>’s:
> !{i32 786478, metadata <badref>, metadata <badref>, metadata !"grappa_wide_get_pointer", metadata !"grappa_wide_get_pointer", metadata !"", i32 53, metadata <badref>, i1 false, i1 true, i32 0,...
2013 Dec 04
0
[LLVMdev] DwarfDebug problems
...t; 22 clang-3.4 0x00000001033015c3 main + 7283
>> 23 libdyld.dylib 0x00007fff8e68d5fd start + 1
>
> (note the line number of the assertion is probably different because I’ve added some prints to help me debug this)
>
> When I print the MDNode returned by “FnScope->getScopeNode()”, I get lots of <badref>’s:
The badrefs are a red herring, so far as I know - they're printed that
way even when they're valid references, in my experience.
That being said, given your assertion it does look like /something/ is up.
It appears as if the function b...
2012 Aug 17
1
[LLVMdev] Debug information causing assertion
We have a test case where we are hitting an assertion in the X86 code generator. The assertion is: "Assertion failed: TheCU && "Unable to find compile unit!", file .\..\..\..\lib\CodeGen\AsmPrinter\DwarfDebug.cpp, line 1411"
The bitcode is attached.
What I am trying to figure out is what is malformed about our debug that is causing this error? This is reproducible
2014 Aug 27
6
[LLVMdev] Minimizing -gmlt
...SPCU->applySubprogramAttributesToDefinition(SP, *D);
+ if (D)
+ // And attach the attributes
+ SPCU->applySubprogramAttributesToDefinition(SP, *D);
}
}
}
@@ -1670,6 +1676,17 @@ void DwarfDebug::endFunction(const MachineFunction *MF) {
LexicalScope *FnScope = LScopes.getCurrentFunctionScope();
DwarfCompileUnit &TheCU = *SPMap.lookup(FnScope->getScopeNode());
+ if (TheCU.getCUNode().getEmissionKind() == DIBuilder::LineTablesOnly && LScopes.getAbstractScopesList().empty()) {
+ assert(ScopeVariables.empty());
+ assert(CurrentFnAr...
2018 Nov 25
6
RFC: Modernizing our use of auto
I'm not advocating AAA.
However this is a proposal for more modern thinking regarding the
permissiveness of auto in LLVM codebases.
Currently the rule on the use of auto is here:
https://llvm.org/docs/CodingStandards.html#use-auto-type-deduction-to-make-code-more-readable
It is quite strict. It allows the use of auto for
* lambdas
* iterators because they are long to type
* casts to