search for: chengyu

Displaying 12 results from an estimated 12 matches for "chengyu".

2014 Dec 09
4
[LLVMdev] dmb ishld in AArch64
I'm not sure, I was never able to compile the whole kernel with -O0, too many errors. Plus, the problem seems to be within machine code generation. I tried opt -O1 and -O2, the generated .ll file does not diff much for the target function (insert_leaf_info). Thanks, Chengyu > On Dec 9, 2014, at 4:49 PM, Tim Northover <t.p.northover at gmail.com> wrote: > > On 9 December 2014 at 13:46, Chengyu Song <csong84 at gatech.edu> wrote: >> Then I will attach, and it is compiled with -O0 > > I thought you said the problem occurred at O1 and O...
2014 Dec 09
3
[LLVMdev] dmb ishld in AArch64
Should I just copy and paste the content of the .ll file? Thanks, Chengyu > On Dec 9, 2014, at 4:35 PM, Tim Northover <t.p.northover at gmail.com> wrote: > >>> Thanks for the IR snippet (I agree, it does look like the order is >>> reasonable there), but it's not really enough to debug the problem. We >>> need an actual Module...
2014 Dec 09
4
[LLVMdev] dmb ishld in AArch64
...8] It should be: f94006a8 ldr x8, [x21,#8] f9000668 str x8, [x19,#8] f9000275 str x21, [x19] d5033abf dmb ishst f9400669 ldr x9, [x19,#8] f9000133 str x19, [x9] f90006b3 str x19, [x21,#8] I guess it’s because "dmb ishst" is not checked/tested? Any quick way to fix this? Thanks, Chengyu
2014 Dec 10
2
[LLVMdev] dmb ishld in AArch64
I'm using r223407. Switching to a clean built on r223853, it still gives me: ldr x8, [x21,#8] stp x21, x8, [x19] dmb ishst ldr x8, [x19,#8] str x19, [x8] str x19, [x21,#8] Thanks, Chengyu > On Dec 9, 2014, at 6:32 PM, Tim Northover <t.p.northover at gmail.com> wrote: > > On 9 December 2014 at 15:14, Chengyu Song <csong84 at gatech.edu> wrote: >> Errr. my fault. I patched the rcu_assign_pointer ... Let me try again. > > It's looking closer now,...
2014 Dec 08
4
[LLVMdev] Incorrect loop optimization when building the Linux kernel
...the root cause. Once I changed the declaration to pointers (instead of arrays): extern struct builtin_fw* __start_builtin_fw; extern struct builtin_fw* __end_builtin_fw; The generated code will not skip the first comparison. Sadly, Linux kernel may contain more such declarations. Thanks a lot! Chengyu
2014 Dec 08
3
[LLVMdev] Incorrect loop optimization when building the Linux kernel
...; preds = %13 br label %.loopexit .loopexit: ; preds = %.loopexit.loopexit, %6 %.0 = phi i1 [ true, %6 ], [ false, %.loopexit.loopexit ] ret i1 %.0, !dbg !4004 } Could anyone explain why this is unhappening and how to avoid it. Thanks, Chengyu
2014 Dec 09
2
[LLVMdev] dmb ishld in AArch64
...he IR snippet (I agree, it does look like the order is > reasonable there), but it's not really enough to debug the problem. We > need an actual Module we can compile and examine to have a hope of > finding out what's going on. You mean the source code I'm compiling? Thanks, Chengyu
2014 Dec 08
2
[LLVMdev] Incorrect loop optimization when building the Linux kernel
On Mon, Dec 08, 2014 at 11:46:45AM -0800, David Majnemer wrote: > I'm pretty sure this is fixed in r223684. This particular use of > zero-sized arrays should defeat any chance of compile-time address equality. I object that change. It's a horrible special case hack for either a fundamental issue in the IR or plain UB on the source level. As such, it should be reverted. Joerg
2014 Dec 09
2
[LLVMdev] dmb ishld in AArch64
...#5, !dbg !10252, !srcloc !10255 %43 = load %struct.hlist_node*** %41, align 8, !dbg !10252 store %struct.hlist_node* %37, %struct.hlist_node** %43, align 8, !dbg !10252 store %struct.hlist_node** %42, %struct.hlist_node*** %39, align 8, !dbg !10256 br label %hlist_add_head_rcu.exit Thanks, Chengyu
2014 Dec 08
3
[LLVMdev] Incorrect loop optimization when building the Linux kernel
On Sun, Dec 7, 2014 at 11:16 PM, Nick Lewycky <nicholas at mxc.ca> wrote: > Chengyu Song wrote: > >> It's difficult to say without a full example, but I'm very suspicious >>> of those global declarations. I think the compiler would be entirely >>> justified in assuming you could *never* get from __start_builtin_fw to >>> __end_builtin_fw...
2014 Dec 10
2
[LLVMdev] dmb ishld in AArch64
..."x19 + 8" is written before it gets read. Indeed. I didn't pay too much attention to the str -> stp change. Unfortunately, the trunk build crashes when compiling the kernel. Hope it will be fixed tomorrow, else I need to find a revision that gives me this fix. Thank you so much! Chengyu
2014 Dec 08
2
[LLVMdev] Incorrect loop optimization when building the Linux kernel
...b $2 = (char (*)[]) 0x60103c Even if this is not safe at the C or C++ level, this comparison could return equal or not equal depending on what the linker chooses to do. Do we have a bug in the constant folder? On Sun, Dec 7, 2014 at 11:16 PM, Nick Lewycky <nicholas at mxc.ca> wrote: > Chengyu Song wrote: > >> It's difficult to say without a full example, but I'm very suspicious >>> of those global declarations. I think the compiler would be entirely >>> justified in assuming you could *never* get from __start_builtin_fw to >>> __end_builtin_fw...