Displaying 11 results from an estimated 11 matches for "getsynchscop".
Did you mean:
getsynchscope
2014 Nov 19
2
[LLVMdev] memory scopes in atomic instructions
On 11/19/2014 4:05 AM, Chandler Carruth wrote:
>
> On Fri, Nov 14, 2014 at 1:09 PM, Sahasrabuddhe, Sameer
> <sameer.sahasrabuddhe at amd.com <mailto:sameer.sahasrabuddhe at amd.com>>
> wrote:
>
> 1. Update the synchronization scope field in atomic instructions
> from a
> single bit to a wider field, say 32-bit unsigned integer.
>
>
> I
2014 Mar 07
3
[LLVMdev] [RFC] Add second "failure" AtomicOrdering to cmpxchg instruction
...@@ public:
bool isNonTemporal() const { return (SubclassData >> 6) & 1; }
bool isInvariant() const { return (SubclassData >> 7) & 1; }
+
AtomicOrdering getOrdering() const {
return AtomicOrdering((SubclassData >> 8) & 15);
}
+
SynchronizationScope getSynchScope() const {
return SynchronizationScope((SubclassData >> 12) & 1);
}
@@ -1089,15 +1092,28 @@ public:
class AtomicSDNode : public MemSDNode {
SDUse Ops[4];
- void InitAtomic(AtomicOrdering Ordering, SynchronizationScope SynchScope) {
+ /// For cmpxchg instructions, the order...
2011 Nov 17
2
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...Inst>(I)->isVolatile() ==
> + cast<LoadInst>(J)->isVolatile()&&
> + cast<LoadInst>(I)->getOrdering() ==
> + cast<LoadInst>(J)->getOrdering()&&
> + cast<LoadInst>(I)->getSynchScope() ==
> + cast<LoadInst>(J)->getSynchScope()
> + ) {
> + isCompat = true;
> + }
> + }
> + } else if (!isCompat&& isa<StoreInst>(I)&& isa<StoreInst>(J)) {
> +...
2011 Nov 21
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...latile() ==
> > + cast<LoadInst>(J)->isVolatile()&&
> > + cast<LoadInst>(I)->getOrdering() ==
> > + cast<LoadInst>(J)->getOrdering()&&
> > + cast<LoadInst>(I)->getSynchScope() ==
> > + cast<LoadInst>(J)->getSynchScope()
> > + ) {
> > + isCompat = true;
> > + }
> > + }
> > + } else if (!isCompat&& isa<StoreInst>(I)&& isa<Sto...
2011 Nov 16
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
Tobias, et al.,
Attached is the my autovectorization pass. I've fixed a bug that appears
when using -bb-vectorize-aligned-only, fixed some 80-col violations,
etc., and at least on x86_64, all test cases pass except for a few; and
all of these failures look like instruction-selection bugs. For example:
MultiSource/Applications/ClamAV - fails to compile shared_sha256.c with
an error: error in
2011 Nov 15
3
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
Tobias,
I've attached the latest version of my autovectorization patch. I was
able to add support for using the ScalarEvolution analysis for
load/store pairing (thanks for your help!). This led to a modest
performance increase and a modest compile-time increase. This version
also has a cutoff as you suggested (although the default value is set
high (4000 instructions between pairs) because
2011 Dec 02
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...cast<LoadInst>(I)->isVolatile() ==
> + cast<LoadInst>(J)->isVolatile()&&
> + cast<LoadInst>(I)->getOrdering() ==
> + cast<LoadInst>(J)->getOrdering()&&
> + cast<LoadInst>(I)->getSynchScope() ==
> + cast<LoadInst>(J)->getSynchScope()
> + ) {
> + IsCompat = true;
> + }
> + }
> + } else if (!IsCompat&& isa<StoreInst>(I)&& isa<StoreInst>(J)) {
> + if (cast<StoreInst>...
2011 Dec 14
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...>(I)->isVolatile() ==
> > + cast<LoadInst>(J)->isVolatile()&&
> > + cast<LoadInst>(I)->getOrdering() ==
> > + cast<LoadInst>(J)->getOrdering()&&
> > + cast<LoadInst>(I)->getSynchScope() ==
> > + cast<LoadInst>(J)->getSynchScope()
> > + ) {
> > + IsCompat = true;
> > + }
> > + }
> > + } else if (!IsCompat&& isa<StoreInst>(I)&& isa<StoreInst>(J)) {
> &g...
2011 Nov 23
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Mon, 2011-11-21 at 21:22 -0600, Hal Finkel wrote:
> On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote:
> > Tobias,
> >
> > I've attached an updated patch. It contains a few bug fixes and many
> > (refactoring and coding-convention) changes inspired by your comments.
> >
> > I'm currently trying to fix the bug responsible for causing a compile
2011 Dec 02
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...>(I)->isVolatile() ==
> > + cast<LoadInst>(J)->isVolatile()&&
> > + cast<LoadInst>(I)->getOrdering() ==
> > + cast<LoadInst>(J)->getOrdering()&&
> > + cast<LoadInst>(I)->getSynchScope() ==
> > + cast<LoadInst>(J)->getSynchScope()
> > + ) {
> > + IsCompat = true;
> > + }
> > + }
> > + } else if (!IsCompat&& isa<StoreInst>(I)&& isa<StoreInst>(J)) {
> &g...
2011 Nov 22
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote:
> Tobias,
>
> I've attached an updated patch. It contains a few bug fixes and many
> (refactoring and coding-convention) changes inspired by your comments.
>
> I'm currently trying to fix the bug responsible for causing a compile
> failure when compiling
>