mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-18 13:21:09 +00:00
SPU LLVM: clean NOP/LNOP
Add volatile to state check and update_pc()
This commit is contained in:
parent
513bac0304
commit
0910acad42
@ -1840,7 +1840,7 @@ class spu_llvm_recompiler : public spu_recompiler_base, public cpu_translator
|
||||
|
||||
void update_pc()
|
||||
{
|
||||
m_ir->CreateStore(m_ir->getInt32(m_pos), spu_ptr<u32>(&SPUThread::pc));
|
||||
m_ir->CreateStore(m_ir->getInt32(m_pos), spu_ptr<u32>(&SPUThread::pc))->setVolatile(true);
|
||||
}
|
||||
|
||||
// Call cpu_thread::check_state if necessary and return or continue (full check)
|
||||
@ -2039,7 +2039,7 @@ public:
|
||||
|
||||
// Emit state check
|
||||
const auto pstate = spu_ptr<u32>(&SPUThread::state);
|
||||
m_ir->CreateCondBr(m_ir->CreateICmpNE(m_ir->CreateLoad(pstate), m_ir->getInt32(0)), label_stop, label_test);
|
||||
m_ir->CreateCondBr(m_ir->CreateICmpNE(m_ir->CreateLoad(pstate, true), m_ir->getInt32(0)), label_stop, label_test);
|
||||
|
||||
// Emit code check
|
||||
u32 check_iterations = 0;
|
||||
@ -2729,12 +2729,10 @@ public:
|
||||
|
||||
void LNOP(spu_opcode_t op) //
|
||||
{
|
||||
update_pc();
|
||||
}
|
||||
|
||||
void NOP(spu_opcode_t op) //
|
||||
{
|
||||
update_pc();
|
||||
}
|
||||
|
||||
void SYNC(spu_opcode_t op) //
|
||||
|
Loading…
x
Reference in New Issue
Block a user