search for: atomic_word_t

Displaying 2 results from an estimated 2 matches for "atomic_word_t".

2015 Nov 10
4
SROA and volatile memcpy/memset
...t have anything to do with devices.) SROA expanded this into a series of volatile loads and stores, which cannot be coalesced back into fewer instructions. This is clearly worse than doing the copy and then the member overwrite. --- test.c --- typedef struct { volatile unsigned int value; } atomic_word_t; typedef union { struct { unsigned char state; unsigned char priority; }; atomic_word_t atomic; unsigned int full; } mystruct_t; mystruct_t a; unsigned int foo(void) { mystruct_t x; mystruct_t y; x.full = a.atomic.value; y = x; y.priority = 7; return y....
2015 Nov 10
2
SROA and volatile memcpy/memset
Hi, I have a customer testcase where SROA splits a volatile memcpy and we end up generating bad code[1]. While this looks like a bug, simply preventing SROA from splitting volatile memory intrinsics causes basictest.ll for SROA to fail. Not only that, but it also seems like handling of volatile memory transfers was done with some intent. What are the design decisions in SROA regarding