mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-22 04:22:57 +02:00
AMDGPU: fix existing alias rules for constant and global
Constant and global may alias, also one rules table wasn't ordered correctly. Pinpointed by Matt. v2: add a test with swapped parameters llvm-svn: 340416
This commit is contained in:
parent
a188ef13f1
commit
a084b54d47
@ -54,8 +54,8 @@ AMDGPUAAResult::ASAliasRulesTy::ASAliasRulesTy(AMDGPUAS AS_, Triple::ArchType Ar
|
||||
static const AliasResult ASAliasRulesPrivIsZero[6][6] = {
|
||||
/* Private Global Constant Group Flat Region*/
|
||||
/* Private */ {MayAlias, NoAlias , NoAlias , NoAlias , MayAlias, NoAlias},
|
||||
/* Global */ {NoAlias , MayAlias, NoAlias , NoAlias , MayAlias, NoAlias},
|
||||
/* Constant */ {NoAlias , NoAlias , MayAlias, NoAlias , MayAlias, NoAlias},
|
||||
/* Global */ {NoAlias , MayAlias, MayAlias, NoAlias , MayAlias, NoAlias},
|
||||
/* Constant */ {NoAlias , MayAlias, MayAlias, NoAlias , MayAlias, NoAlias},
|
||||
/* Group */ {NoAlias , NoAlias , NoAlias , MayAlias, MayAlias, NoAlias},
|
||||
/* Flat */ {MayAlias, MayAlias, MayAlias, MayAlias, MayAlias, MayAlias},
|
||||
/* Region */ {NoAlias , NoAlias , NoAlias , NoAlias , MayAlias, MayAlias}
|
||||
@ -63,10 +63,10 @@ AMDGPUAAResult::ASAliasRulesTy::ASAliasRulesTy(AMDGPUAS AS_, Triple::ArchType Ar
|
||||
static const AliasResult ASAliasRulesGenIsZero[6][6] = {
|
||||
/* Flat Global Region Group Constant Private */
|
||||
/* Flat */ {MayAlias, MayAlias, MayAlias, MayAlias, MayAlias, MayAlias},
|
||||
/* Global */ {MayAlias, MayAlias, NoAlias , NoAlias , NoAlias , NoAlias},
|
||||
/* Constant */ {MayAlias, NoAlias , MayAlias, NoAlias , NoAlias, NoAlias},
|
||||
/* Group */ {MayAlias, NoAlias , NoAlias , MayAlias, NoAlias , NoAlias},
|
||||
/* Global */ {MayAlias, MayAlias, NoAlias , NoAlias , MayAlias, NoAlias},
|
||||
/* Region */ {MayAlias, NoAlias , NoAlias , NoAlias, MayAlias, NoAlias},
|
||||
/* Group */ {MayAlias, NoAlias , NoAlias , MayAlias, NoAlias , NoAlias},
|
||||
/* Constant */ {MayAlias, MayAlias, MayAlias, NoAlias , NoAlias, NoAlias},
|
||||
/* Private */ {MayAlias, NoAlias , NoAlias , NoAlias , NoAlias , MayAlias}
|
||||
};
|
||||
assert(AS.MAX_COMMON_ADDRESS <= 5);
|
||||
|
@ -7,3 +7,15 @@ define void @test(i8 addrspace(5)* %p, i8 addrspace(1)* %p1) {
|
||||
ret void
|
||||
}
|
||||
|
||||
; CHECK: MayAlias: i8 addrspace(1)* %p1, i8 addrspace(4)* %p
|
||||
|
||||
define void @test_constant_vs_global(i8 addrspace(4)* %p, i8 addrspace(1)* %p1) {
|
||||
ret void
|
||||
}
|
||||
|
||||
; CHECK: MayAlias: i8 addrspace(1)* %p, i8 addrspace(4)* %p1
|
||||
|
||||
define void @test_global_vs_constant(i8 addrspace(1)* %p, i8 addrspace(4)* %p1) {
|
||||
ret void
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user