similar to: [LLVMdev] parameters sent by llvm::ExtractCodeRegion

Displaying 20 results from an estimated 11000 matches similar to: "[LLVMdev] parameters sent by llvm::ExtractCodeRegion"

2011 Mar 12
0
[LLVMdev] problems when the llvm::ExtractCodeRegion updates the Phi nodes in successors ... is there a method to eliminate phi nodes ?
Hi, I use the llvm::ExtractCodeRegion to extract each loop into a separate function, but I have a problem when I run this on the SPEC CPU 2006 on the 401.bzip2 benchmark. First I use clang -O3 to generate optimized llvm code and then I extract some loops from the module built from blocksort.c source file. The problem is that the PHI nodes contained in the successors of the codeRepl
2010 Mar 05
3
[LLVMdev] How to .. jump from inline asm to a BasicBlock?
Hello, I have a problem trying to create an inline asm that checks one condition and based on the result of the condition it should jump to one BasicBlock or to another. My question is: is this possible in LLVM, from the inline asm to jump out, to the LLVM code, and if it is, how can I pass the label to which the code should jump. I tried passing the address of the BasicBlocks, using
2010 Oct 13
4
[LLVMdev] Values have no names when generating *.ll files in clang and llvm 2.8 ?
Hello, I upgraded to llvm 2.8 and when I generate *.ll files from C/C++ with clang -S -emit-llvm I obtain a *.ll file in which instructions and basicblocks have no names. I tried as well compiling with the -g option, but no names were given. In the release notes it is indicated to use "--show-annotations" to print the number of uses. Is there something similar for assigning names to
2011 Jul 19
3
[LLVMdev] speculative parallelization in LLVM
Hi Renato, No, I cannot, but in case it is, I want to take advantage of this. In case it is not, the instrumentation code will detect this at runtime and simply roll back to the original version. I will always keep an original version available, in addition to the ones I modify with Polly. However, initially I will speculate that it is allocated contiguously. Thanks, Alexandra
2010 Oct 12
1
[LLVMdev] Specify dominator for BasicBlock to avoid "Instruction does not dominate all uses!"
Hi, I tried adding the PHI nodes in BB_unique, and it works for the simple case described here, but in case the nodes were declared in some predecessors of ExitBB1 and used in ExitBB1_redirect and its successors, it won't work, unless I create entries for all of them in BB_unique. B1 (declares PHI_1) B3 | | B2
2013 Apr 10
0
[LLVMdev] How to call the llvm.prefetch intrinsic ?
Alexandra, I'm not sure what you mean by "replace", but I have code that does this to insert prefetches: Type *I8Ptr = Type::getInt8PtrTy((*I)->getContext(), PtrAddrSpace); Value *PrefPtrValue = ... IRBuilder<> Builder(MemI); Module *M = (*I)->getParent()->getParent(); Type *I32 = Type::getInt32Ty((*I)->getContext()); Value
2010 Nov 02
0
[LLVMdev] "multiple definition of .. " in clang 2.8
It seems that the problem occurs from the optimization level. In the 2.7 version I was using -O0 and in 2.8 I tested the same benchmarks with -O3. clang -O0 works fine, while clang -O3 makes redefinitions (probably it is related to inlining) of the functions from stdlib.h, math.h and some other libraries. To give one example, function atoi is defined in the generated *.ll file: define i32
2011 Jul 19
0
[LLVMdev] speculative parallelization in LLVM
On 19 July 2011 10:12, Jimborean Alexandra <xinfinity_a at yahoo.com> wrote: > %curr_array = alloca [10 x %struct.linked], align 8 > > while.. >  %tmp16 = getelementptr inbounds [10 x %struct.linked]* %curr_array, i32 0, > i32 1 Hi Alexandra, Can you guarantee that the linked list will be allocated in contiguous memory? cheers, --renato
2011 Aug 03
2
[LLVMdev] scalar evolution to determine access functions in arays
Only because in my next passes I change the CFG significantly and it is very hard to maintain the values of the Phi nodes. Alexandra ________________________________ From: Tobias Grosser <tobias at grosser.es> To: Jimborean Alexandra <xinfinity_a at yahoo.com> Cc: "llvmdev at cs.uiuc.edu" <llvmdev at cs.uiuc.edu>; "luismastrangelo at gmail.com"
2011 Jul 25
1
[LLVMdev] print the memory address computed by getelementptr
Hi again, Thank you, your suggestion worked well. I was looking for a pointer to void actually. But it seems that I do not get the memory address when passing the value of the GEP instruction.  For instance, when I print the address accessed by the second operandof the store instruction store %struct.linked* %tmp23.reload8, %struct.linked** %curr.037.reg2mem I obtain a memory address of the
2011 Jan 21
1
[LLVMdev] goto in inline asm
Is goto from inline asm supported in LLVM 2.8 ? I am searching for something similar to what gcc 4.5 does: http://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#Extended%20asm%20with%20goto http://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#Extended%20asm%20with%20goto which allows jumping from inline assembly to a label defined in C. I want to jump from inline asm to a basic block in LLVM.
2011 Jun 15
2
[LLVMdev] get LPPassManager to use it in llvm::CloneLoop
Thanks , your suggestion was welcome and CloneLoop works without passing the LPPassManager. However, I reached another problem. When the loop to be cloned has some subloops, the subloops are not properly cloned. Some clones of the clones are created and the CFG between the cloned basic blocks of the subloops is not correctly built. There are clones like for.body.clone,
2011 Aug 03
2
[LLVMdev] scalar evolution to determine access functions in arays
Hello Tobi, You are right, we need to run some other passes before running the scalar evolution pass. The sequence that I run for this example is -O3 -loop-simplify -reg2mem.  This is why I did not obtain the expressions depending on the loop indices. So I removed the reg2mem pass and scalar evolution computes the correct functions. However, I need to run the reg2mem pass (or any other that
2011 Jul 19
4
[LLVMdev] speculative parallelization in LLVM
Hi Tobi, Thank you for your reply :). I know that array accesses are handled as pointers in LLVM, but as I understood Polly is focused on statically analysable code. As you mentioned: proving that pointer accesses actually represent virtual array accesses. In the case of a linked list for example, parsed with a pointer p = p->next, I expect that Polly will not handle this code. So I
2011 Sep 12
0
[LLVMdev] multi-threading in llvm
Hi Alexandra, On Thu, Sep 8, 2011 at 13:53, Jimborean Alexandra <xinfinity_a at yahoo.com> wrote: > I had a look at the CodeGeneration from Polly. Is it possible to use it > without creating the Scops, by transforming it into a LoopPass? Yes. If you don't want to use the autopar of Polly and just rely on the pragmas inserted by the programmer, you don't need SCoPs. You can
2011 Sep 12
0
[LLVMdev] multi-threading in llvm
Thanks for your ideas. Polly looked interesting as it seems it has already introduced the basic support for OpenMP that I need. But indeed, it seems difficult to apply the same code on a regular LLVM loop, instead of a SCoP. What I am working on is speculative parallelism, so I cannot provide the SCoPs required by Polly. I analyze the loops and try to parallelize them speculatively at the LLVM
2013 Apr 10
2
[LLVMdev] How to call the llvm.prefetch intrinsic ?
Hello, Can anyone please guide me how can I replace a load instruction with a prefetch. I was looking at the intrinsic creation methods of the IRBuilder, but I can only find functions corresponding to memset, memcpy and memmove intrinsics, not for prefetching. Also, I target x86-64 architectures. Is it sufficient to insert a call to the intrinsic in the LLVM IR to have the corresponding prefetch
2011 Aug 03
1
[LLVMdev] scalar evolution to determine access functions in arays
Ok, thank you, I will have a look and reply with questions if necessary. Does it take into consideration the existing phi nodes? Alexandra ________________________________ From: Tobias Grosser <tobias at grosser.es> To: Jimborean Alexandra <xinfinity_a at yahoo.com> Cc: "llvmdev at cs.uiuc.edu" <llvmdev at cs.uiuc.edu>; "luismastrangelo at gmail.com"
2012 Nov 22
0
[LLVMdev] Set the minimum number of allocated bits for a variable
Hi Alexandra, I'm not sure want you want to do. Is the data layout string (http://llvm.org/docs/LangRef.html#datalayout, also usually set by each target specific *TargetMachine constructor), for setting the alignment good enough for you? Or is it more than the alignment you want to control? Do you have a target with 16-bit bytes? In that case, there is quite a lot of changes that needs to be
2011 Mar 31
1
[LLVMdev] how to detect if block N is reachable from block M ?
On Wed, Mar 30, 2011 at 11:35 PM, Eli Friedman <eli.friedman at gmail.com> wrote: > On Wed, Mar 30, 2011 at 10:14 AM, Jimborean Alexandra > <xinfinity_a at yahoo.com> wrote: >> Hi, >> >> Is there any method to check if there is a path in the CFG from block M to >> block N, but M does not necessarily dominate block N? >> In other words, if N is