<div dir="ltr">Thanks for the suggestion.<div><br></div><div>I tried your fix. It worked for my particular case, but then I got a following error:</div><div><br></div><div>clang-3.5: /home/rail/projects/escala_llvm/trunk/llvm-or1k/lib/CodeGen/RegisterPressure.cpp:39: void decreaseSetPressure(std::vector<unsigned int>&, llvm::PSetIterator): Assertion `CurrSetPressure[*PSetI] >= Weight && "register pressure underflow"' failed.<br></div><div><br></div><div>Do you mind helping me out? A stack dump is provided below:</div><div><br></div><div><div>clang-3.5: /home/rail/projects/escala_llvm/trunk/llvm-or1k/lib/CodeGen/RegisterPressure.cpp:39: void decreaseSetPressure(std::vector<unsigned int>&, llvm::PSetIterator): Assertion `CurrSetPressure[*PSetI] >= Weight && "register pressure underflow"' failed.</div><div>0  clang-3.5       0x00000000017dfae4 llvm::sys::PrintStackTrace(_IO_FILE*) + 38</div><div>1  clang-3.5       0x00000000017dfd61</div><div>2  clang-3.5       0x00000000017df715</div><div>3  libpthread.so.0 0x00002ad3b4a17340</div><div>4  libc.so.6       0x00002ad3b547bcc9 gsignal + 57</div><div>5  libc.so.6       0x00002ad3b547f0d8 abort + 328</div><div>6  libc.so.6       0x00002ad3b5474b86</div><div>7  libc.so.6       0x00002ad3b5474c32</div><div>8  clang-3.5       0x0000000001de82a3</div><div>9  clang-3.5       0x0000000001de880c llvm::RegPressureTracker::decreaseRegPressure(llvm::ArrayRef<unsigned int>) + 120</div><div>10 clang-3.5       0x0000000001dec305 llvm::RegPressureTracker::bumpDownwardPressure(llvm::MachineInstr const*) + 593</div><div>11 clang-3.5       0x0000000001dec4da llvm::RegPressureTracker::getMaxDownwardPressureDelta(llvm::MachineInstr const*, llvm::RegPressureDelta&, llvm::ArrayRef<llvm::PressureChange>, llvm::ArrayRef<unsigned int>) + 138</div><div>12 clang-3.5       0x0000000000e4c60f</div><div>13 clang-3.5       0x0000000000e4f066 llvm::ConvergingVLIWScheduler::pickNodeFromQueue(llvm::ReadyQueue&, llvm::RegPressureTracker const&, llvm::ConvergingVLIWScheduler::SchedCandidate&) + 284</div><div>14 clang-3.5       0x0000000000e4f2e5 llvm::ConvergingVLIWScheduler::pickNodeBidrectional(bool&) + 285</div><div>15 clang-3.5       0x0000000000e4f5b0 llvm::ConvergingVLIWScheduler::pickNode(bool&) + 576</div><div>16 clang-3.5       0x0000000000e4db8e llvm::VLIWMachineScheduler::schedule() + 1366</div><div>17 clang-3.5       0x0000000001d7830f</div><div>18 clang-3.5       0x0000000001d77988</div><div>19 clang-3.5       0x0000000001d4f9c7 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 95</div><div>20 clang-3.5       0x00000000014dacee llvm::FPPassManager::runOnFunction(llvm::Function&) + 290</div><div>21 clang-3.5       0x00000000014dae5e llvm::FPPassManager::runOnModule(llvm::Module&) + 84</div><div>22 clang-3.5       0x00000000014db17c</div><div>23 clang-3.5       0x00000000014db766 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 244</div><div>24 clang-3.5       0x00000000014db971 llvm::legacy::PassManager::run(llvm::Module&) + 39</div><div>25 clang-3.5       0x0000000001ef9c4b</div><div>26 clang-3.5       0x0000000001ef9d1a clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::raw_ostream*) + 127</div><div>27 clang-3.5       0x0000000001ef3637</div><div>28 clang-3.5       0x000000000276b1ea clang::ParseAST(clang::Sema&, bool, bool) + 780</div><div>29 clang-3.5       0x00000000019992b0 clang::ASTFrontendAction::ExecuteAction() + 322</div><div>30 clang-3.5       0x0000000001ef4fb8 clang::CodeGenAction::ExecuteAction() + 1362</div><div>31 clang-3.5       0x0000000001998de3 clang::FrontendAction::Execute() + 205</div><div>32 clang-3.5       0x000000000196c770 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 720</div><div>33 clang-3.5       0x0000000001a8b277 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1029</div><div>34 clang-3.5       0x0000000000e36a09 cc1_main(char const**, char const**, char const*, void*) + 717</div><div>35 clang-3.5       0x0000000000e312f4 main + 785</div><div>36 libc.so.6       0x00002ad3b5466ec5 __libc_start_main + 245</div><div>37 clang-3.5       0x0000000000e2e959</div></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 27, 2016 at 11:41 AM, Krzysztof Parzyszek via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 4/27/2016 12:10 PM, Rail Shafigulin via llvm-dev wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
The first error that I see during compilation is<br>
<br>
lib/CodeGen/MachineScheduler.cpp:1165: void<br>
llvm::ScheduleDAGMILive::scheduleMI(llvm::SUnit*, bool): Assertion<br>
`TopRPTracker.getPos() == CurrentTop && "out of sync"' failed.<br>
</blockquote>
<br></span>
This happens on Hexagon too.  I have a patch for review:<br>
<a href="http://reviews.llvm.org/D19438" rel="noreferrer" target="_blank">http://reviews.llvm.org/D19438</a><span class="HOEnZb"><font color="#888888"><br>
<br>
-Krzysztof<br>
<br>
<br>
-- <br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Rail Shafigulin<br></div>Software Engineer <br>Esencia Technologies<br></div></div></div></div>
</div>