Displaying 20 results from an estimated 25 matches for "intervalpartit".
2008 Aug 27
2
[LLVMdev] IntervalPartition and Intervals per function
Hi,
I wrote a Function pass that requires the IntervalPartition pass in
order to obtain the set of intervals for every function:
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<IntervalPartition>();
}
and get a handle to it in the runOnFunction method of my CustomPass:
bool CustomPass::runOnFunction(Function& F)
{...
2008 Aug 27
0
[LLVMdev] IntervalPartition and Intervals per function
On Aug 27, 2008, at 1:35 PM, Prakash Prabhu wrote:
> Hi,
>
> I wrote a Function pass that requires the IntervalPartition pass in
> order to obtain the set of intervals for every function:
>
> However when i access the intervals vector for a particular call of
> runOnFunction, it seems that alll intervals computed for the earlier
> functions are still in the
> vector. To verify this, I added some...
2005 May 04
1
[LLVMdev] IntervalPartition bug?
...s not easy to tell which 1-st order invervals are contained in
> > a given 2-nd order interval.
>
> That does seem strange. If you would like to change/refactor this code,
> feel free.
Okay. I've done first round of refactoring and currently writing some code of
mine that uses IntervalPartition which should uncover any remaining issues.
When done, I'll submit a patch.
Probably I should describe the approach I taken. The problem with current
Interval class is that it contains vector<BasicBlock*> and that
Successor/Predecessor lists also point to basic block. That make it r...
2008 Aug 27
2
[LLVMdev] IntervalPartition and Intervals per function
...efinition
of a Region in the second edition of the Dragon Book (Section 9.7 on
Region-Based Analysis), so it will be great if the Intervals related
code still lives on in LLVM :).
I found a fix for the bug, which may not be very elegant, but works
none the less. Firstly, the destroy() method in IntervalPartition.cpp
did not clear the Intervals vector and secondly, since destroy() is
only called from the destructor the state of the intervals is
maintained across different runOnFunction() calls. So now I clear the
Intervals vector in destroy() and call destroy() to start on a clean
state before doing the...
2005 Apr 30
0
[LLVMdev] IntervalPartition bug?
On Fri, 29 Apr 2005, Vladimir Prus wrote:
> it looks like the IntervalPartition does not work as expected when constructed
> from another interval partition.
>
> Say, I have built an interval partition from function, and the first interval
> has two basic blocks. When I create second order partition and print all
> intervals, the second basic block of the fun...
2008 Aug 28
0
[LLVMdev] IntervalPartition and Intervals per function
...he second edition of the Dragon Book (Section 9.7 on
> Region-Based Analysis), so it will be great if the Intervals related
> code still lives on in LLVM :).
Ok :)
> I found a fix for the bug, which may not be very elegant, but works
> none the less. Firstly, the destroy() method in IntervalPartition.cpp
> did not clear the Intervals vector and secondly,
Applied!
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20080825/066480.html
> since destroy() is
> only called from the destructor the state of the intervals is
> maintained across different runOnFunction() calls....
2008 Aug 28
1
[LLVMdev] IntervalPartition and Intervals per function
...on Book (Section 9.7 on
>> Region-Based Analysis), so it will be great if the Intervals related
>> code still lives on in LLVM :).
>
> Ok :)
>
>> I found a fix for the bug, which may not be very elegant, but works
>> none the less. Firstly, the destroy() method in IntervalPartition.cpp
>> did not clear the Intervals vector and secondly,
>
> Applied!
> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20080825/066480.html
>
>> since destroy() is
>> only called from the destructor the state of the intervals is
>> maintained acros...
2005 Apr 29
2
[LLVMdev] IntervalPartition bug?
Hi,
it looks like the IntervalPartition does not work as expected when constructed
from another interval partition.
Say, I have built an interval partition from function, and the first interval
has two basic blocks. When I create second order partition and print all
intervals, the second basic block of the function is not seen any...
2012 Feb 04
1
[LLVMdev] How can I see what opt tries to delete at the end of a pass?
...nitialised value(s)
==16471== at 0xEA56580: llvm::IntervalIterator<llvm::BasicBlock,
llvm::Function, llvm::GraphTraits<llvm::BasicBlock*>,
llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >::~IntervalIterator()
(IntervalIterator.h:137)
==16471== by 0xEA5549E:
llvm::IntervalPartition::runOnFunction(llvm::Function&)
(IntervalPartition.cpp:71)
==16471== by 0xF04F976:
llvm::FPPassManager::runOnFunction(llvm::Function&) (PassManager.cpp:1483)
==16471== by 0xF04FB30: llvm::FPPassManager::runOnModule(llvm::Module&)
(PassManager.cpp:1503)
==16471== by 0xF04FE1B...
2012 Feb 03
0
[LLVMdev] How can I see what opt tries to delete at the end of a pass?
On Fri, Feb 3, 2012 at 1:20 PM, Griffin Wright <grwright at umich.edu> wrote:
>
> Hello,
>
> I've been stuck with a problem for about a month, and it has stumped
> everyone in my lab. I have a function pass that runs, and when it finishes
> and opt goes to return, I get:
>
> While deleting: void %
> An asserting value handle still pointed to this value!
>
2005 Apr 20
0
[LLVMdev] "Refactoring" Basic Blocks into a new function
...lp 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 make this happen by using the
IntervalPartition pass? It looks like LLVM has some functionality that
I could use *some where.* I just can't quite figure out how to make use
of it.
Thanks,
Evan Jones
2012 Feb 03
3
[LLVMdev] How can I see what opt tries to delete at the end of a pass?
Hello,
I've been stuck with a problem for about a month, and it has stumped
everyone in my lab. I have a function pass that runs, and when it finishes
and opt goes to return, I get:
While deleting: void %
An asserting value handle still pointed to this value!
UNREACHABLE executed at /x/grwright/llvm/llvm-2.9/lib/VMCore/Value.cpp:569!
On a simple test case, the error becomes 'i32 %'
2007 Mar 12
1
[LLVMdev] Structural Analysis
Is there structural analysis as described in Advanced compiler design &
implementation(Muchnick) in LLVM now?
I only find interval analysis in IntervalPartition.cpp now.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20070312/5b6ea365/attachment.html>
2005 Apr 20
4
[LLVMdev] "Refactoring" Basic Blocks into a new function
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
<--- CUT
code B
<--- CUT
code C
and (approximately) convert it into:
function foo:
2004 Sep 03
4
[LLVMdev] diffs for vc7.1
...9; : is not a member of '_STL'
llvm\lib\Transforms\Scalar\LowerSwitch.cpp(211) : error C2039:
'sort' : is not a member of '_STL'
llvm\lib\Analysis\BasicAliasAnalysis.cpp(700) : error C2039: 'sort'
: is not a member of '_STL'
llvm\lib\Analysis\IntervalPartition.cpp(29) : error C3861:
'for_each': identifier not found, even with argument-dependent lookup
llvm\lib\Analysis\LoadValueNumbering.cpp(184) : error C2039: 'sort'
: is not a member of '_STL'
llvm\lib\Analysis\ScalarEvolution.cpp(362) : error C2039: 'sort'...
2003 Nov 13
4
[LLVMdev] llvm 1.0, g++, SuSE 9, internal compiler error
> > - gcc bug
> > - problem with SuSE distribution
>
> One of these two. In theory GCC should never crash (even if the LLVM
> sources had problems), and since SuSE made modifications to the compiler
> before they shipped it, they implicitly took responsibility for the end
> result.
I agree.
> You can try sending a bug report to SuSE.
hm, sending bug report is
2005 Apr 20
3
[LLVMdev] "Refactoring" Basic Blocks into a new function
...ant 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 make this happen by using the
> IntervalPartition pass? It looks like LLVM has some functionality that
> I could use *some where.* I just can't quite figure out how to make
> use of it.
Ah ha! I figured out the succ_begin() and pred_begin() functions. This
looks like it *might* be a better way to do things. At the very least,
I c...
2005 Apr 22
0
[LLVMdev] tabs
...ude/llvm/Config/alloca.h
Index: include/llvm/Support/Annotation.h
Index: include/llvm/Target/MRegisterInfo.h
Index: include/llvm/Target/TargetFrameInfo.h
Index: include/llvm/Target/TargetInstrInfo.h
Index: include/llvm/Target/TargetSchedInfo.h
Index: lib/Analysis/Expressions.cpp
Index: lib/Analysis/IntervalPartition.cpp
Index: lib/Analysis/LoopInfo.cpp
Index: lib/Analysis/PostDominators.cpp
Index: lib/Analysis/DataStructure/EquivClassGraphs.cpp
Index: lib/Analysis/IPA/FindUsedTypes.cpp
Index: lib/Analysis/IPA/GlobalsModRef.cpp
Index: lib/Bytecode/Writer/SlotCalculator.cpp
Index: lib/CodeGen/PHIElimination.c...
2004 Dec 03
0
[LLVMdev] [Fwd: Updated LLVM Visual Studio project files]
...gt; > RelativePath="..\..\lib\Analysis\InstCount.cpp">
> > </File>
> > <File
> > RelativePath="..\..\lib\Analysis\Interval.cpp">
> > </File>
> > <File
> > RelativePath="..\..\lib\Analysis\IntervalPartition.cpp">
> > </File>
> > <File
> > RelativePath="..\..\lib\Analysis\LoadValueNumbering.cpp">
> > </File>
> > <File
> > RelativePath="..\..\lib\Analysis\LoopInfo.cpp">
> > </File&g...
2004 Dec 03
2
[LLVMdev] [Fwd: Updated LLVM Visual Studio project files]
...</File>
> <File
> RelativePath="..\..\lib\Analysis\InstCount.cpp">
> </File>
> <File
> RelativePath="..\..\lib\Analysis\Interval.cpp">
> </File>
> <File
> RelativePath="..\..\lib\Analysis\IntervalPartition.cpp">
> </File>
> <File
> RelativePath="..\..\lib\Analysis\LoadValueNumbering.cpp">
> </File>
> <File
> RelativePath="..\..\lib\Analysis\LoopInfo.cpp">
> </File>
> <File
> Relati...