search for: xguo6

Displaying 8 results from an estimated 8 matches for "xguo6".

Did you mean: xguo
2015 Apr 24
2
[LLVMdev] convert LLVM IR to another IR without SSA
...ster number. I need to assign registers with ssa form to registers without ssa form. I will look the source code you point out. Thanks Xiangyang On Fri, Apr 24, 2015 at 4:19 PM, Diego Novillo <dnovillo at google.com> wrote: > > > On Fri, Apr 24, 2015 at 3:17 PM, Xiangyang Guo <xguo6 at ncsu.edu> wrote: > >> Hi, >> >> I want to convert LLVM IR to another type of IR, which has no SSA form. >> So the most important thing I need to handle is Phi node and register >> allocation because another type of IR has a limitation of virtual register >&...
2015 Apr 24
2
[LLVMdev] convert LLVM IR to another IR without SSA
Hi, I want to convert LLVM IR to another type of IR, which has no SSA form. So the most important thing I need to handle is Phi node and register allocation because another type of IR has a limitation of virtual register number. The first thing I can think about is to learn how LLVM Backend works because LLVM Backend handles these things. But I'm not familiar with Backend. After reading some
2015 Aug 22
2
loop unrolling introduces conditional branch
...e-m:e-i64:64-f80:128-n8:16:32:64-S128");", still no luck. I'm really confused about this. Do I need to add more passes before -loop-unroll? On Sat, Aug 22, 2015 at 11:36 AM, Mehdi Amini <mehdi.amini at apple.com> wrote: > > On Aug 22, 2015, at 7:27 AM, Xiangyang Guo <xguo6 at ncsu.edu> wrote: > > Hi, Mehdi, > > For example, I have this very simple source code: > void foo( int n, int array_x[]) > { > for (int i=0; i < n; i++) > array_x[i] = i; > } > > After I use "clang -emit-llvm -o bc_from_clang.bc -c try.cc",...
2015 Apr 19
2
[LLVMdev] remove redundant load by GVN() does not work
Hi, Assume I have the following code. The first four instructions in each BB does the same thing. So I think GVN() can remove the redundant code. However, after I apply GVN to my module by "Passes.add(createGVNPass())" and "Passes.run(*myModule)". It seems GVN does not remove the redundant instructions. Can anyone give me a hint what's going on here? Any hint is
2015 Aug 22
2
loop unrolling introduces conditional branch
...f each unrolled part. I'm really confused about this. Does Clang do something special? Or do I need to do something else to eliminate the unnecessary loop boundary checking at the end of each unrolled part? Thanks for your help. Xiangyang On Fri, Aug 21, 2015 at 11:29 AM, Xiangyang Guo <xguo6 at ncsu.edu> wrote: > Hi, Jeremy, > > Thanks for your reply. I tried -fno-rtti yesterday and no luck. > > Regards, > > Xiangyang > > On Fri, Aug 21, 2015 at 11:05 AM, Jeremy Lakeman <Jeremy.Lakeman at gmail.com > > wrote: > >> There's been some r...
2015 Aug 22
3
loop unrolling introduces conditional branch
Hi, Mehdi, For example, I have this very simple source code: void foo( int n, int array_x[]) { for (int i=0; i < n; i++) array_x[i] = i; } After I use "clang -emit-llvm -o bc_from_clang.bc -c try.cc", I get bc_from_clang.bc. With my code (using LLVM IRbuilder API), I get bc_from_api.bc. Attachment please find thse two files. I also past the IR here.
2015 Aug 21
2
loop unrolling introduces conditional branch
There's been some recent noise on the mailing list about requiring -fno-rtti; http://lists.llvm.org/pipermail/llvm-dev/2015-August/089010.html Could that be it? On Sat, Aug 22, 2015 at 12:21 AM, Xiangyang Guo via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Hi, James and Philip, Thanks for your help. > > Based on your advice, I downloaded llvm-3.7. However, with this new
2015 Jul 26
1
[LLVMdev] why gvn does not work for global variables
Hi, All, Suppose I have a very simple code like this and variable 'a' is a global variable: *************************************************************************** *double ** a;* *int main(){* * a[5][10] = 0.1;* * a[5][20] = 0.5;* * return 0;* *}* *************************************************************************** Then I can get the IR without any optimization like