mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
AMDGPU: Don't check constant address space for atomic stores
We define a separate list for storable address spaces. This saves entry in the matcher table address space list.
This commit is contained in:
parent
556b87227e
commit
4033ac12d5
@ -408,7 +408,12 @@ def atomic_load_64_#as : PatFrag<(ops node:$ptr), (atomic_load_64 node:$ptr)> {
|
||||
let IsAtomic = 1;
|
||||
let MemoryVT = i64;
|
||||
}
|
||||
} // End let AddressSpaces
|
||||
} // End foreach as
|
||||
|
||||
|
||||
foreach as = [ "global", "flat", "local", "private", "region" ] in {
|
||||
let AddressSpaces = !cast<AddressSpaceList>("StoreAddress_"#as).AddrSpaces in {
|
||||
def store_#as : PatFrag<(ops node:$val, node:$ptr),
|
||||
(unindexedstore node:$val, node:$ptr)> {
|
||||
let IsStore = 1;
|
||||
@ -444,8 +449,8 @@ def truncstorei16_hi16_#as : StoreHi16<truncstorei16>;
|
||||
|
||||
defm atomic_store_#as : binary_atomic_op<atomic_store>;
|
||||
|
||||
} // End let AddressSpaces = ...
|
||||
} // End foreach AddrSpace
|
||||
} // End let AddressSpaces
|
||||
} // End foreach as
|
||||
|
||||
|
||||
multiclass ret_noret_binary_atomic_op<SDNode atomic_op, bit IsInt = 1> {
|
||||
|
Loading…
Reference in New Issue
Block a user