mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 12:26:52 +08:00
Do not store scalar accesses in InstructionToAccess
At code generation, scalar reads are generated before the other statement's instructions, respectively scalar writes after them, in contrast to array accesses which are "executed" with the instructions they are linked to. Therefore it makes sense to not map the scalar accesses to a place of execution. Follow-up patches will also remove some of the directs links from a scalar access to a single instruction, such that only having array accesses in InstructionToAccess ensures consistency. Differential Revision: http://reviews.llvm.org/D13676 llvm-svn: 256298
This commit is contained in:
@@ -904,9 +904,12 @@ void ScopStmt::buildAccessRelations() {
|
||||
void ScopStmt::addAccess(MemoryAccess *Access) {
|
||||
Instruction *AccessInst = Access->getAccessInstruction();
|
||||
|
||||
MemoryAccessList &MAL = InstructionToAccess[AccessInst];
|
||||
MAL.emplace_front(Access);
|
||||
MemAccs.push_back(MAL.front());
|
||||
if (Access->isArrayKind()) {
|
||||
MemoryAccessList &MAL = InstructionToAccess[AccessInst];
|
||||
MAL.emplace_front(Access);
|
||||
}
|
||||
|
||||
MemAccs.push_back(Access);
|
||||
}
|
||||
|
||||
void ScopStmt::realignParams() {
|
||||
|
||||
Reference in New Issue
Block a user