Displaying 15 results from an estimated 15 matches for "npjohnso".
2009 May 11
0
[LLVMdev] Pass Manager hangs with CallGraph and LoopSimplify
See http://llvm.org/docs/GettingStarted.html#brokengcc and then try building with something OTHER than GCC 4.1.2 .
----- Original Message ----
> From: Nick Johnson <npjohnso at cs.princeton.edu>
> To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu>
> Sent: Monday, May 11, 2009 3:01:12 PM
> Subject: [LLVMdev] Pass Manager hangs with CallGraph and LoopSimplify
>
> Hello,
>
> I have discovered a situation in which the pass manager wil...
2009 May 11
2
[LLVMdev] Pass Manager hangs with CallGraph and LoopSimplify
Hello,
I have discovered a situation in which the pass manager will infinite
loop. The minimal test case is below this message. The required
structure of these passes is;
Before requires CallGraph
After requires LoopSimplify and Before
I can observe this through opt:
opt -load ./libBug.so -after input.bc -o output.bc
I built my copy of llvm from svn revision 68820 using gcc 4.1.2
Any
2009 Apr 30
1
[LLVMdev] Assertion `ResultPass && "getAnalysis*() called on an analysis that was not " "'required' by pass!"' failed.
Hello,
I have two passes, A and B. A is a function pass. B is a module
pass. Each uses their getAnalysisUsage() method to .addRequired()
several passes, and each .setPreserveAll()s. **Pass B requires pass
A**. But, when I call getAnalysis<A> from within B, it exclaims:
Assertion `ResultPass && "getAnalysis*() called on an analysis that
was not "
2009 May 07
3
[LLVMdev] Set alignment of a structure?
Hello,
Is it possible to set the alignment of a StructType in llvm?
Especially in the case that it may contain OpaqueTypes?
Thanks,
--
Nick Johnson
2009 Jan 16
0
[LLVMdev] The annotation intrinsic, floating point values, stores and branches
Hello,
With respect to the llvm.annotation.* instrinsic.
(1) I see it has been overloaded against all integer widths. Can it
also be overloaded against every llvm type (including label types,
function types, floating point types, pointer types, structure types,
etc)? If not, why? If so, how?
(2) Is there any way to use it to annotate instructions which produce
no value, such as stores and
2009 Jan 23
0
[LLVMdev] Possible bug in PassManager - Higher pass requires lower pass
Hello all,
I've noticed that whenever a ``higher'' pass requires a ``lower''
pass, an assert *always* fails in the pass manager. I believe the
correct behavior is to not schedule the lower pass, but instead run it
when the higher pass calls getAnalysis<>(). Consider, for instance,
this test case:
#include "llvm/Pass.h"
#include
2009 Mar 31
2
[LLVMdev] Mutating the elements of a ConstantArray
Hello,
I need to append something to the global "llvm.global_ctors". This
variable may or may not already be declared within the current module.
If I lookup the global variable, I see that it supports a
getOperand(i) and setOperand(i,c), but does not support any way that I
can enlarge that array to add a new record.
Any suggestions?
--
Nick Johnson
2009 May 01
1
[LLVMdev] DominatorTrees, DominanceFrontiers, interfaces and cloning
Hello,
I have a transform that, given a function F, will produce a new
function G such that the basic blocks of G are (copies of) a subset of
the basic blocks of F, and such that control flow is connected as you
would expect. Given DominatorTree and DominanceFrontier of F, I would
also like to efficiently compute DominatorTrees and DominanceFrontiers
of G. I understand how to do this
2009 May 03
1
[LLVMdev] L1, L2 Cache line sizes in TargetData?
Hello,
Is there any way for a pass to determine the L1 or L2 cacheline size
of the target before the IR is lowered to machine instructions?
Thanks,
--
Nick Johnson
2009 May 10
2
[LLVMdev] Get the call graph SCCs from a function pass
Hello,
I'm writing a Function Pass. This function pass needs access to the
CallGraph and CallGraph SCCs. Is there any way I can get CallGraph
information without changing my pass to a CallGraphSCCPass ?
Thanks,
--
Nick Johnson
2009 May 14
0
[LLVMdev] Chaining analyses from an analysis group
Hello,
Two questions regarding analysis groups that ``chain'' their results,
like AliasAnalysis.
(1) I have an analysis group, let's call it Provider. I also have two
implementations of it: ProviderA and ProviderB.
The "writing a pass" document suggests using:
au.addRequiredTransitive< Provider >();
Within the getAnalysisUsage() method of both ProviderA and
2009 May 08
2
[LLVMdev] Splitting a basic block, replacing it's terminator
Hi,
I want to insert a conditional branch in the middle of a basic block.
To that end, I am doing these steps:
(1) Split the basic block:
bb->splitBasicBlock()
(2) Remove the old terminator:
succ->removePredecessor(bb)
bb->getTerminator()->getParent()
(3) Adding a new terminator:
BranchInst::Create(ifTrue, ifFalse, cnd, "", bb);
That seems to work, but later passes
2009 Apr 29
2
[LLVMdev] Anonymous Structures
Hello,
I am writing a pass which must insert calls to an external library.
One of the parameters to functions in this library is a very large,
complex structure (let's call it Foo). Foo has many fields, strange
target-dependent alignment requirements, and is likely to change many
times in the future. The internal representation of Foo is important
to this library, but the code my pass
2009 Apr 10
1
[LLVMdev] Pass Manager Restriction?
On Fri, Apr 10, 2009 at 5:24 PM, Devang Patel <dpatel at apple.com> wrote:
> ... because usually a module pass operates on entire module (e.g.
> inliner) and it does not require information specific to a function.
> If your pass need info collected by a function pass then why not
> structure your pass as a function pass and run it for all function in
> a module ?
I very much
2008 Dec 28
0
[LLVMdev] Controlling the stack layout
> I'd like to generate this layout:
>
> 12(%ebp) - second function parameter
> 8(%ebp) - first function parameter
> 4(%ebp) - old %EIP (the function's "return address")
> 0(%ebp) - old %EBP (previous function's base pointer)
> -4(%ebp) - My language specific information
> -8(%ebp) - first local variable
> -12(%ebp) -