Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] Moving instructions from functions"
2005 Apr 20
3
[LLVMdev] "Refactoring" Basic Blocks into a new function
On Apr 19, 2005, at 22:10, Evan Jones wrote:
> I just found the Interval class, and it looks like it could help me
> out here. I want to locate the Interval that begins with the call to
> the "magic" begin(), and ends with the call to the "magic" end(), if
> it exists. If there is no such valid interval, then I want to detect
> that and return an error. Can I
2005 Apr 20
0
[LLVMdev] "Refactoring" Basic Blocks into a new function
On Apr 19, 2005, at 8:39 PM, Evan Jones wrote:
> I have two very specific questions about LLVM, but first let me give
> you the general overview of what I am trying to achieve. I have some
> section of a function that I want to replace with a function call to a
> brand new function. For example, I want to take the following
> function:
>
> function foo:
> code A
>
2008 Dec 07
1
[LLVMdev] How to extract loop body into a new function?
False Alarm!!
Still don't know how to do it!
I am trying to write a transformation pass to extract a loop body into a function.
For example:
The Loop in question is:
for (i2 = 0; i2 < LOOP_SIZE; i2++) {
A[B[i2]] = 2 * B[i2];
}
The IR for which is:
bb13: ; preds = %bb13, %bb
%i2.0.reg2mem.0 = phi i32 [ 0, %bb ], [ %indvar.next62, %bb13 ] ; <i32>
2009 Mar 24
2
[LLVMdev] Problem with MemoryDependenceAnalysis
no .. i am calling a function pass from a module pass, adding other
function passes to my module pass works, but when i try to add
MemoryDependenceAnalysis it gives error
I want to report a bug but i don't know if this is a real bug or i am
doing something wrong, knowing that i am adding other function passe to
my module pass and it works fine.
the error i get:
adding callgraph pass ...
2009 Mar 24
1
[LLVMdev] Problem with MemoryDependenceAnalysis
actually i only created a new Module pass and tried to getAnalysis of
MemoryDependenceAnalysis from it, i didn't use TargetData directly
to regenerate the error i am attaching a c file containing an example
code to regenerate the error. with its Makefile
the command line i used is:
opt -time-passes -analyze -load
${LLVM_PATH}/Release/lib/.libs/libMYMODULEPASS.so -MyModulePass < test.bc
2009 Mar 20
2
[LLVMdev] Problem with MemoryDependenceAnalysis
Devang Patel wrote:
> On Mar 20, 2009, at 8:13 AM, Amr Yehia wrote:
>
>
>> Dear all,
>>
>> I am having a problem adding a MemoryDependenceAnalysis pass to a
>> Module
>> Pass i created, it gives me the following error when i add
>> (Info.addRequired<MemoryDependenceAnalysis>();) it in the
>> getAnalysisUsage(AnalysisUsage &Info)
2009 Mar 20
2
[LLVMdev] Problem with MemoryDependenceAnalysis
Dear all,
I am having a problem adding a MemoryDependenceAnalysis pass to a Module
Pass i created, it gives me the following error when i add
(Info.addRequired<MemoryDependenceAnalysis>();) it in the
getAnalysisUsage(AnalysisUsage &Info) function.
adding callgraph pass ... done
opt: /net/home/yehia/llvm/llvm-2.4/include/llvm/Target/TargetData.h:114:
2009 Mar 24
0
[LLVMdev] Problem with MemoryDependenceAnalysis
Amr Yehia wrote:
> no .. i am calling a function pass from a module pass, adding other
> function passes to my module pass works, but when i try to add
> MemoryDependenceAnalysis it gives error
>
I'm going to assume that you're running your passes via a specially
built tool and not as a set of passes loaded into the opt program. If
this assumption is wrong, please let
2009 Mar 23
0
[LLVMdev] Problem with MemoryDependenceAnalysis
On Mar 20, 2009, at 11:19 AM, Amr Yehia wrote:
>> I am loading the CallGraph pass before it from my module
Aha, so you're actually invoking function pass from a CG pass. See if
my suggestion from
http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-February/020109.html
helps.
-
Devang
>
2009 Mar 20
0
[LLVMdev] Problem with MemoryDependenceAnalysis
On Mar 20, 2009, at 8:13 AM, Amr Yehia wrote:
> Dear all,
>
> I am having a problem adding a MemoryDependenceAnalysis pass to a
> Module
> Pass i created, it gives me the following error when i add
> (Info.addRequired<MemoryDependenceAnalysis>();) it in the
> getAnalysisUsage(AnalysisUsage &Info) function.
>
If MemoryDependenceAnalysis requires any module
2008 Dec 07
2
[LLVMdev] How to extract loop body into a new function?
Hi All,
I am having trouble extracting loop body into a new function. The ExtractLoop() or ExtractBasicBlock() extracts the entire loop along with the header into a new function. All I want is to extract the body of the loop into a new function(without the header).
Is this possible?
Thanks,
Mrunal
2010 Oct 20
5
[LLVMdev] Pass Incompatibility
I have a transformation where I'd like to use both DominatorTree (for ExtractCodeRegion), and DemoteRegisterToMemory (i.e., reg2mem). The transformation is phased, so all occurrences of getAnalysis<DominatorTree>(Function) happen before any occurrence of getAnalysisID<FunctionPass>(&DemoteRegisterToMemoryID, Function).
If I register these two passes with DominatorTree first, I
2005 Apr 20
2
[LLVMdev] "Refactoring" Basic Blocks into a new function
On Apr 19, 2005, at 23:17, Vikram Adve wrote:
> Have you looked at ExtractCodeRegion() and its siblings in
> include/llvm/Transform/Utils/FunctionUtils.h? It seems to be what you
> need.
This is brilliant. In fact, it is nearly *exactly* what I need.
On Apr 19, 2005, at 23:59, Chris Lattner wrote:
> An Interval (and an Interval partition) is a concept with a lot of
> compiler
2008 Dec 07
0
[LLVMdev] How to extract loop body into a new function?
Sorry!
It worked with ExtractBasicBlock()
----- Original Message -----
From: "Mrunal J Shah" <mrunal.shah at gatech.edu>
To: "llvmdev" <llvmdev at cs.uiuc.edu>
Sent: Saturday, December 6, 2008 8:30:33 PM GMT -05:00 US/Canada Eastern
Subject: [LLVMdev] How to extract loop body into a new function?
Hi All,
I am having trouble extracting loop body into a new
2019 Aug 22
3
[RFC] Adding target-specific overrides for Indirect Call Promotion
<font face="Verdana,Arial,Helvetica,sans-serif" size="2"><div><div><div style="box-sizing: inherit;"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" style="box-sizing: inherit;">Hi,</font></div><div style="box-sizing: inherit;"><font face="Verdana, Arial,
2011 Jan 25
2
[LLVMdev] Update PHINode after extracting code
Hi all,
I have problem with ExtractCodeRegion (CodeExtractor.cpp).
My original program is as follows.
bb:
...
%tmp.15 = load %struct.MYSQL_ROWS** %3, align 4
...
bb1:
...
%tmp.1 = load %struct.MYSQL_ROWS** %6, align 4
...
bb4: ; preds = %bb1, %bb,
%entry
%tmp.0 = phi %struct.MYSQL_ROWS* [ null, %entry ], [ %tmp.15, %bb ], [
%tmp.1, %bb1 ]
2010 Oct 20
0
[LLVMdev] Pass Incompatibility
On Oct 20, 2010, at 4:05 AM, Luke Dalessandro wrote:
> If I register DemoteRegisterToMemoryID first
I'd expect this to work.
> then I get this assert during code extraction.
>
> CodeExtractor.cpp:681: llvm::Function*<unnamed>::CodeExtractor::ExtractCodeRegion(const std::vector<llvm::BasicBlock*, std::allocator<llvm::BasicBlock*> >&): Assertion
2009 Jan 02
3
[LLVMdev] Private headers and testing
2009/1/2 Chris Lattner <clattner at apple.com>
> On Jan 2, 2009, at 12:21 PM, Misha Brukman wrote:
> Do you have a specific example of a unit test that would need these? I
> really think these should stay private.
>
Let's take lib/Transforms/Utils/CodeExtractor.cpp . The public interface
for it is in include/llvm/Transform/Utils/FunctionUtils.h, with only the
high-level
2012 Apr 03
1
[LLVMdev] Extracting loop body
Hi,
I've seen this question asked before but I haven't seen an answer..
I would like to extract the body of a (for) loop into a new function so I can do some transformations. The function ExtractCodeRegion seemed like a good candidate and I've got it to sort of work.
My problem is that ExtractCodeRegion creates a function that still contains a loop. I was able to eliminate the loop
2009 May 29
1
[LLVMdev] difference between alias set tracker and alias analysis evaluator
Hi all,
I have a problem with alias aliasing results returned by the alias set
tracker and the alias analysis evaluator.
so i call opt tool to run my module with the following options
"-anders-aa -aa-eval -print-alias-sets -print-all-alias-modref-info"
i use 2 classes to print alias analysis, the AliasSetTracket and
AliasAnalysisEvaluator.
but they give different results.
here is a