search for: getunit

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

2015 Dec 04
2
InstrStage, Interpretation of getUnits()
Here is the code <https://github.com/llvm-mirror/llvm/blob/c68dcdb413079d92118839dbd835e125293f411a/include/llvm/MC/MCInstrItineraries.h#L75> for InstrStage::getUnits() /// \brief Returns the choice of FUs. unsigned getUnits() const { return Units_; } This method returns an integer. How does one interpret it? As far as I see it it should tell me what resources are used by a given stage but I can't figure out what a return value means. Would anyone care to...
2016 May 08
2
Debug info scope of explicit casting type does not seem correct
...he function is finalized the attributes will be applied, which is called from this code: void DwarfDebug::finishSubprogramDefinitions() { for (auto &F : MMI->getModule()->functions()) if (auto *SP = F.getSubprogram()) if (ProcessedSPNodes.count(SP) && SP->getUnit()->getEmissionKind() != DICompileUnit::NoDebug) forBothCUs(*CUMap.lookup(SP->getUnit()), [&](DwarfCompileUnit &CU) { CU.finishSubprogramDefinition(SP); <------------- In our case, this code will not be reached for the above subprogram. }); ... }...
2020 May 31
2
LLC crash while handling DEBUG info
..., it should *not* be present. In the crash case, `spFlags = DISPFlagOptimized`. So, I guess, `unit` field should *not* be present, though I do not know the difference between ` DISPFlagDefinition` and ` DISPFlagOptimized`. if that is expected, then we may need to check `nullity` of `DISubprogram::getUnit()` before accessing it at https://github.com/llvm/llvm-project/blob/master/llvm/lib/CodeGen/LexicalScopes.cpp#L53 Thanks, Mahesha On Sun, May 31, 2020 at 11:26 AM David Blaikie <dblaikie at gmail.com> wrote: > In theory the LLVM IR verifier (llvm/lib/IR/Verifier.cpp) should catch >...
2020 May 31
2
LLC crash while handling DEBUG info
...cation(line: 2, column: 1, scope: !7) ----------- Now, if I compile the above modified IR file using LLC, then LLC crashes as below. The crash point is https://github.com/llvm/llvm-project/blob/master/llvm/lib/CodeGen/LexicalScopes.cpp#L53. Reason for crash is `NULL` pointer access. `DISubprogram::getUnit()` returns `NULL` pointer since there is no `unit` field in the related metadata info. ----------- PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace. Stack dump: 0. Program arguments: /opt/rocm/llvm/bin/llc foo.ll 1. Running pass 'Function Pass Mana...
2020 May 31
2
LLC crash while handling DEBUG info
...present. In the crash case, `spFlags = > DISPFlagOptimized`. So, I guess, `unit` field should *not* be present, > though I do not know the difference between ` DISPFlagDefinition` and ` > DISPFlagOptimized`. if that is expected, then we may need to check > `nullity` of `DISubprogram::getUnit()` before accessing it at > https://github.com/llvm/llvm-project/blob/master/llvm/lib/CodeGen/LexicalScopes.cpp#L53 > > > > Thanks, > > Mahesha > > > > On Sun, May 31, 2020 at 11:26 AM David Blaikie <dblaikie at gmail.com> > wrote: > >> > >&g...
2020 Jun 01
2
LLC crash while handling DEBUG info
...present. In the crash case, `spFlags = > DISPFlagOptimized`. So, I guess, `unit` field should *not* be present, > though I do not know the difference between ` DISPFlagDefinition` and ` > DISPFlagOptimized`. if that is expected, then we may need to check > `nullity` of `DISubprogram::getUnit()` before accessing it at > https://github.com/llvm/llvm-project/blob/master/llvm/lib/CodeGen/LexicalScopes.cpp#L53 > >> > > >> > Thanks, > >> > Mahesha > >> > > >> > On Sun, May 31, 2020 at 11:26 AM David Blaikie <dblaikie at gmail....
2015 Nov 16
2
DFAPacketizer assert failure
...s occupied by a MCInstrDesc and // change the current state to reflect that change. void DFAPacketizer::reserveResources(const llvm::MCInstrDesc *MID) { unsigned InsnClass = MID->getSchedClass(); const llvm::InstrStage *IS = InstrItins->beginStage(InsnClass); unsigned FuncUnits = IS->getUnits(); UnsignPair StateTrans = UnsignPair(CurrentState, FuncUnits); ReadTable(CurrentState); assert(CachedTable.count(StateTrans) != 0); CurrentState = CachedTable[StateTrans]; } This happens at the packetization stage, i.e. scheduling seems to work. My schedule description is not very differ...
2016 May 07
2
Debug info scope of explicit casting type does not seem correct
Hi David, OK, I got that DIE in Compile Unit scope may point to a DIE in subprogram scope. But how about that we are emitting a subprogram entry that has no attributes? 0x0000002b: DW_TAG_subprogram [3] * 0x0000002c: DW_TAG_typedef [4] DW_AT_type [DW_FORM_ref4] (cu + 0x0040 => {0x00000040}) DW_AT_name [DW_FORM_strp] (
2012 Apr 19
0
[LLVMdev] Target Dependent Hexagon Packetizer patch
...If it doesn't, we ignore the instruction. >> + const MCInstrDesc& TID = MI->getDesc(); >> + unsigned SchedClass = TID.getSchedClass(); >> + const InstrStage* IS = ResourceTracker->getInstrItins()->beginStage(SchedClass); >> + unsigned FuncUnits = IS->getUnits(); >> + return !FuncUnits; >> +} >> + >> +// isSoloInstruction: - Returns true for instructions that must be >> +// scheduled in their own packet. >> +bool HexagonPacketizerList::isSoloInstruction(MachineInstr *MI) { >> + >> + if (MI->isInlineAs...