search for: example_tweak

Displaying 3 results from an estimated 3 matches for "example_tweak".

Did you mean: example_tweaked
2015 Jan 15
2
[LLVMdev] generate llvm.assume calls in GVN?
...could make would be to add an llvm.assume inside > the if case of the if condition. (Yes, that is as silly as it sounds.) I > tested that, and it did optimize as expected. It's essentially working > around a deficiency in the optimizer around path constraints. > > define void @example_tweaked(i64* %x0) #0 { > %1 = load i64* %x0, align 8 > %2 = and i64 %1, 3 > %3 = icmp eq i64 %2, 2 > br i1 %3, label %4, label %8 > ; <label>:4 ; preds = %0 > call void @llvm.assume(i1 %3) > %5 = and i64 %1, -4 ;...
2014 Dec 04
2
[LLVMdev] Optimising bit-flipping code
Hi, I'm compiling a large code base that uses tagged data, with the tag in the two lowest bits. I.e. ints are shifted two steps to the left and have 2 in the tag bits, pointers have 0 in the tag bits, etc. When I compile the code, I notice that there are places where -O3 doesn't remove unnecessary tag bit tests and manipulations, when they are performed with bitwise manipulation (which
2015 Jan 15
2
[LLVMdev] generate llvm.assume calls in GVN?
...of simplify-demanded-bits, so that we could remove the cost of running simplify-demanded-bits to help pay for the VRP. I've been thinking about the data structure we could use for that, but haven't worked out all the operations yet. Nick In particular: > > >>> define void @example_tweaked(i64* %x0) #0 { >>> %1 = load i64* %x0, align 8 >>> %2 = and i64 %1, 3 >>> %3 = icmp eq i64 %2, 2 >>> br i1 %3, label %4, label %8 >>> ; <label>:4 ; preds = %0 >>> call void @llvm.assume(i1...