search for: clear2

Displaying 4 results from an estimated 4 matches for "clear2".

Did you mean: clear
2017 Mar 09
4
[RFC] bitfield access shrinking
..., -65536 %bf.set = or i64 %bf.value, %bf.clear store i64 %bf.set2, i64* %9, align 8 ..... %bf.load1 = load i64, i64* %0, align 8 %bf.clear1 = and i64 %bf.load1, -4294901761 %bf.set1 = or i64 %bf.value1, %bf.clear1 store i64 %bf.set2, i64* %9, align 8 ..... %bf.load2 = load i64, i64* %0, align 8 %bf.clear2 = and i64 %bf.load2, -4294901761 %bf.set2 = or i64 %bf.value2, %bf.clear2 store i64 %bf.set2, i64* %9, align 8 After coalescing, it will become: %bf.load = load i64, i64* %0, align 8 %bf.clear = and i64 %bf.load, -65536 %bf.set = or i64 %bf.value, %bf.clear ..... %bf.clear1 = and i64 %bf.set, -429...
2017 Mar 09
4
[RFC] bitfield access shrinking
...%9, align 8 >> ..... >> %bf.load1 = load i64, i64* %0, align 8 >> %bf.clear1 = and i64 %bf.load1, -4294901761 >> %bf.set1 = or i64 %bf.value1, %bf.clear1 >> store i64 %bf.set2, i64* %9, align 8 >> ..... >> %bf.load2 = load i64, i64* %0, align 8 >> %bf.clear2 = and i64 %bf.load2, -4294901761 >> %bf.set2 = or i64 %bf.value2, %bf.clear2 >> store i64 %bf.set2, i64* %9, align 8 >> >> After coalescing, it will become: >> %bf.load = load i64, i64* %0, align 8 >> %bf.clear = and i64 %bf.load, -65536 >> %bf.set = or i64...
2017 Mar 09
3
[RFC] bitfield access shrinking
...%9, align 8 >> ..... >> %bf.load1 = load i64, i64* %0, align 8 >> %bf.clear1 = and i64 %bf.load1, -4294901761 >> %bf.set1 = or i64 %bf.value1, %bf.clear1 >> store i64 %bf.set2, i64* %9, align 8 >> ..... >> %bf.load2 = load i64, i64* %0, align 8 >> %bf.clear2 = and i64 %bf.load2, -4294901761 >> %bf.set2 = or i64 %bf.value2, %bf.clear2 >> store i64 %bf.set2, i64* %9, align 8 >> >> After coalescing, it will become: >> %bf.load = load i64, i64* %0, align 8 >> %bf.clear = and i64 %bf.load, -65536 >> %bf.set = or i64...
2017 Jun 15
9
About CodeGen quality
Hi Mats, It's private backend. I will try describing what I am dealing with. struct S { unsigned int a : 8; unsigned int b : 8; unsigned int c : 8; unsigned int d : 8; unsigned int e; } We want to read S->b for example. The size of struct S is 64 bits, and seems LLVM treats it as i64. Below is the IR corresponding to S->b, IIRC. %0 = load