Displaying 1 result from an estimated 1 matches for "new_last".
2013 Sep 23
0
[LLVMdev] Wrong types in inline assembly?
Hello,
I'm confused about a particular snippet of code related to inline
assembly. From the Linux kernel:
bool llist_add_batch(struct llist_node *new_first, struct llist_node
*new_last, struct llist_head *head){
struct llist_node *first;
do {
new_last->next = first = ACCESS_ONCE(head->first);
} while (cmpxchg(&head->first, first, new_first) != first);
return !first;
}
The generated code in the IR for the cmpxchg call is:
%struct.llist_node = type { %struct.llist_n...