Displaying 20 results from an estimated 200 matches similar to: "[LLVMdev] Adding instructions to loop"
2019 Oct 30
2
How to make ScalarEvolution recompute SCEV values?
Hello all,
I’m pretty new to LLVM.
I'm writing a pass for loop optimization. I clone and rearrange loops, setting the cloned loop as the original loop’s parent. This can be done multiple times, until there is no more work to do. The trouble is, after the first time I do this, the cloned loop's SCEVs become unknown types when they should be AddRecExpr.
If I re-run the whole pass on the
2012 Dec 20
2
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
Hello,
Thank you for your answer. If I want to use
then I have
error: ‘NodeTy* llvm::ilist_half_node<NodeTy>::getPrev() [with NodeTy =
llvm::Instruction]’ is protected
error: ‘llvm::ilist_half_node<llvm::Instruction>’ is not an accessible base
of ‘llvm::Instruction’
Do you know any other method to access the previous instruction of a
terminator instruction? PS: back() is not an
2004 May 02
1
[LLVMdev] hoisting problem.
Hi,
First, sorry in advance for pasting code like this :)
I'm doing a simple optimization pass for a cs326 class
project. The pass in question is LICM, and I'm getting an
assertion when I try to hoist an instruction.
My hoist function is below. I dont think I need that
copying in there, that was just something people on the
newsgroup suggested. I get the same assertion
2012 Dec 20
0
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
I may be mistaken as I just took a quick look, but in ilist_node the
function "getPrevNode()" actually calls a method on the previous node:
NodeTy *getPrevNode() {
NodeTy *Prev = this->getPrev();
// Check for sentinel.
if (!Prev->getNext())
return 0;
return Prev;
}
http://llvm.org/docs/doxygen/html/ilist__node_8h_source.html#l00058
Try checking if
2012 Dec 20
0
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
getPrevNode<http://llvm.org/docs/doxygen/html/classllvm_1_1ilist__node.html#a77b897207ef0a1ae95c404695aed9a4b>()
Get the previous node, or 0 for the list head. I don't see any method like
hasPrevNode.
It can be a weird problem because "current->getPrevNode()" is indicating to
"current" itself (the problem appears for the BB with only one element)?
On Thu, Dec
2012 Dec 20
1
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
I solved by checking
if(BB->size()>1)
Thank you all for the help !
Now debugging the next segfault.
On Thu, Dec 20, 2012 at 12:59 PM, Alexandru Ionut Diaconescu <
alexandruionutdiaconescu at gmail.com> wrote:
> getPrevNode<http://llvm.org/docs/doxygen/html/classllvm_1_1ilist__node.html#a77b897207ef0a1ae95c404695aed9a4b>()
> Get the previous node, or 0 for the list
2007 May 20
2
[LLVMdev] API changes (was Antw.: 2.0 Pre-release tarballs online)
Hi,
Op 19-mei-07, om 00:39 heeft Chris Lattner het volgende geschreven:
> Anton is right. You should be able to use -fno-builtins to disable
> this.
Thanks, that did the trick.
Some final remarks (my app works again :-)):
* llvm.va_start and similar intrinsics now have an i8* arg instead
of an sbyte**
* For some reason the Arguments of a Function are now circularly
linked,
2012 Dec 20
3
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
Hello John,
I was following your procedures and I isolated the problem. The problem are
represented by the basic blocks with only one element.
for (Function::iterator II = F.begin(), EE = F.end(); II != EE; ++II, ++ii)
{
BasicBlock* BB=II;
if (BB->getTerminator())
{
Instruction* current = BB->getTerminator();
Instruction* previous;
2005 Jun 28
3
[LLVMdev] LLVM 1.5 C Front-End Binaries for FreeBSD?
Might anyone have a FreeBSD binary or suggested modifications to the
source to compile one?
Thanks,
Sean
2007 May 11
0
[LLVMdev] Instruction::getNext and Instruction::getPrev are private
Hi,
I switched to the upcoming version 2.0 branch and porting my code from
1.9. Thanks there is not a lot to do. I found that
Instruction::getNext and Instruction::getPrev are private. Is this
intentional? If yes, what would you recommend instead using them?
Thanks,
Ferad
2007 May 11
0
[LLVMdev] Instruction::getNext and Instruction::getPrev are private
Thanks Antont and Gabor.. I will use the iterator instead..
On 5/11/07, Anton Korobeynikov <asl at math.spbu.ru> wrote:
> Hello, Ferad.
>
> > I switched to the upcoming version 2.0 branch and porting my code from
> > 1.9. Thanks there is not a lot to do. I found that
> > Instruction::getNext and Instruction::getPrev are private. Is this
> > intentional?
>
2007 May 23
0
[LLVMdev] API changes (was Antw.: 2.0 Pre-release tarballs online)
On Sun, 20 May 2007, Bram Adams wrote:
> Op 19-mei-07, om 00:39 heeft Chris Lattner het volgende geschreven:
>> Anton is right. You should be able to use -fno-builtins to disable
>> this.
>
> Thanks, that did the trick.
>
> Some final remarks (my app works again :-)):
> * llvm.va_start and similar intrinsics now have an i8* arg instead
> of an sbyte**
ok
>
2005 Nov 09
3
[LLVMdev] Using LLVM to compile system programs
Thanks, Chris.
> > I'm having a bit of difficulty using LLVM to compile system programs
> > (e.g. rsh) on FreeBSD 5.x.
> There are three basic options here:
>
> 1. Build all your code with LLVM.
> 2. Build the non-llvm parts into a dynamic library, and use "lli -load
> x.so <other options>" to load it.
> 3. Link the non-llvm parts into LLI.
2007 May 18
0
[LLVMdev] API changes (was Antw.: 2.0 Pre-release tarballs online)
On Sat, 19 May 2007, Anton Korobeynikov wrote:
>> * It seems that a C-call like printf("---\n") is transformed to puts
>> ("---") in the LLVM IR instead of keeping it a printf. What are the
>> circumstances in which this happens? Do other similar conversions
>> occur? Can this be turned off (lower optimisation level?)? Manually
>> replacing the
2007 May 18
1
[LLVMdev] API changes (was Antw.: 2.0 Pre-release tarballs online)
Hello, Bram
> * It seems that a C-call like printf("---\n") is transformed to puts
> ("---") in the LLVM IR instead of keeping it a printf. What are the
> circumstances in which this happens? Do other similar conversions
> occur? Can this be turned off (lower optimisation level?)? Manually
> replacing the puts-calls by a printf-call is not
2005 Jul 11
2
[LLVMdev] Getting started with LLVM Passes
... here is some generally useful information I should have cc'd to
llvmdev in the first place ...
-Chris
--
http://nondot.org/sabre/
http://llvm.cs.uiuc.edu/
---------- Forwarded message ----------
Date: Sun, 10 Jul 2005 21:41:55 -0500 (CDT)
From: Chris Lattner <sabre at nondot.org>
To: Sean Peisert <peisert at gmail.com>
Subject: Re: [LLVMdev] Getting started with LLVM
2009 Jan 16
1
[LLVMdev] Problem using ilist container
Hi All,
I have just started using LLVM .
i am facing a issue while using ilist container.
Here is a struct with ilist container as its one element.
typedef ilist<Instruction *> InstListType;
struct list_node {
int Impact;
InstListType InstList;
};
list_node
2005 Nov 09
0
[LLVMdev] Using LLVM to compile system programs
On Wed, 9 Nov 2005, Sean Peisert wrote:
> libraries due to inline assembly. Do my assumptions seem correct?
yes
> Has an OS (or at least the sytem applications on it) ever been
> compiled with LLVM?
I'm not aware of anyone who has built a whole os with LLVM yet, e.g. due
to inline asm issues. However, many system utils (e.g. finger and core
utils) have been built with LLVM.
2010 Nov 17
1
[LLVMdev] L->isLoopInvariant giving wrong results?
my changed code.
namespace {
class MyLoopPass:public LoopPass {
bool changed;
public:
static char ID;
Loop* curLoop;
// AnalysisType* AA;
DominatorTree* DT;
LoopInfo* LI;
MyLoopPass() : LoopPass(ID){}
bool isLoopInvariantInst(Instruction &I) ;
bool runOnLoop(Loop * L, LPPassManager &lpm);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
2010 Nov 17
0
[LLVMdev] L->isLoopInvariant giving wrong results?
i am getting seg fault on functions like I->eraseFromParent also.
I'm assuming that the problem comes when i change the loop structure.
On Thu, Nov 18, 2010 at 4:05 AM, Sreeraj a <writetosrj at gmail.com> wrote:
> The funny thing is that i am manually able to hoist the Loop invariant
> instruction to the basicBlock terminator, by editing the human readable form
> and then