Bug 99748

Summary: [radeonsi] Civ6 Assert in LLVM SIMachineScheduler.cpp with R600_DEBUG=sisched
Product: Mesa Reporter: Mike Lothian <mike>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium CC: mike
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Revert Patch

Description Mike Lothian 2017-02-10 01:29:07 UTC
When running Civ6 using LLVM from git (SHA1's tested 1648ceaabcea762590049a74ce8b934e3bfd4fb2 and 897444660daf9e94c020efc97b63aed7e61db7ac) with R600_DEBUG=sisched and the latest Mesa it would assert with the following error:

Civ6: /var/tmp/portage/sys-devel/llvm-9999/work/llvm-9999/lib/Target/AMDGPU/SIMachineScheduler.cpp:1584: void llvm::SIScheduleBlockScheduler::blockScheduled(llvm::SIScheduleBlock*): Assertion `LiveRegsConsumers[RegP.first] == 0' failed.

This doesn't happen with LLVM-4.0.0-rc1 even when using R600_DEBUG=sisched
Comment 1 Mike Lothian 2017-02-10 20:44:02 UTC
This wasn't limited to Civ6, saw the issue on Rocket League as well

Reverting:

commit ce06d9cb99298eb844b66e117f5108a06747c907
Author: Alexander Timofeev <Alexander.Timofeev@amd.com>
Date:   Tue Feb 7 17:57:48 2017 +0000

    [AMDGPU] Fix for SIMachineScheduler crash. SI Scheduler should track
             lane masks.
    
             Differential revision: https://reviews.llvm.org/D29442
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294324 91177308-0d34-0410-b5e6-96231b3b80d8

Allowed it to work again
Comment 2 Mike Lothian 2017-02-12 14:46:49 UTC
Created attachment 129529 [details] [review]
Revert Patch

Here's the revert patch to make things easier for other folk reverting
Comment 3 Axel Davy 2017-02-19 10:11:30 UTC
the patch was reverted.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.