Displaying 20 results from an estimated 6000 matches similar to: "[LLVMdev] Instruction ctor: insertBefore"
2004 Jun 24
2
[LLVMdev] Instruction ctor: insertBefore
Hi Reid,
> Instructions are members of a linked list. Consequently if you insert
> some Instruction, that instruction gets changed. So, its not const.
>
> Simple enough?
Yes, thank you.
I started thinking if "mutable" is right here, but that's long philosophical
issue ;-)
- Volodya
2004 Jun 24
0
[LLVMdev] Instruction ctor: insertBefore
Vladimir,
Instructions are members of a linked list. Consequently if you insert
some Instruction, that instruction gets changed. So, its not const.
Simple enough?
Reid.
On Thu, 2004-06-24 at 01:02, Vladimir Prus wrote:
> Hi,
> the insertBefore parameter, present in all constructors, is declared like
> this:
>
> Instruction *InsertBefore=0
>
> any reason there's
2004 Jun 24
0
[LLVMdev] Instruction ctor: insertBefore
I'm not opposed to mutable and its probably reasonable in this case.
However, I'd defer to Chris' opinion for anything in VMCore. We try to
limit the number of changes/additions there because the impact can be
quite large if something goes wrong.
Reid.
On Thu, 2004-06-24 at 04:41, Vladimir Prus wrote:
> Hi Reid,
>
> > Instructions are members of a linked list.
2004 Jun 24
4
[LLVMdev] -Woverloaded-virtual
I've just had some fun, because I wanted to override
FunctionPass::addAnalysisUsage, but forgot "const" after the method name --
so instead of overriding I've just created a new unrelated method.
After spending some time on this, I've decided to add -Woverloaded-virtual
option to compiler to catch such cases. However, it also gives some warnings
on LLVM code:
2005 Feb 16
4
[LLVMdev] Install fails due to missing 'pax' tool
Hello,
I've just tries make && make install on a fresh CVS tree, and get:
llvm[0]: Installing include files
/bin/sh: line 1: pax: command not found
Two questions.
1. Why install process requires some nonstandard tool? Is it possible to get
away without it.
2. autoconf/configure.ac has this:
AC_PATH_PROG(PAX, [pax], [pax])
but Makefile.rules uses plain 'pax',
2004 Jul 08
2
[LLVMdev] UnitTests/2002-05-19-DivTest.c
The above-mentioned test contains this:
long B53 = - (1LL << 53);
strictly speaking, this is not correct code. The C standard says about shift:
"if the value of the first operator is ... or greater than ... the width of
the promoted left operand, the behaviour is underfined".
Thouhts?
- Volodya
2004 Jul 07
2
[LLVMdev] Duplicate assignment in LLVM?
Reid Spencer wrote:
> Volodya,
>
> I think you may need to update your CFE and rebuild. I compiled the test
> using my local build and I didn't get the results you see below. I'm
> also very surprised to see this output. The first %tmp.11 should have
> been %tmp.1 .. not sure how it got corrupted. In any event, the
> attachment is obviously generated by code that runs
2006 Mar 06
4
[LLVMdev] Online docs missing?
Hi!
When I go to
http://llvm.cs.uiuc.edu/doxygen/annotated.html
and click on link for, say, "llvm::Module", I've told that the target page
does not exist. Same happens for llvm::Value, and in fact everything under
"llvm" namespace.
Any idea what's wrong?
- Volodya
2004 Jul 08
3
[LLVMdev] UnitTests/2002-05-19-DivTest.c
Vladimir Prus wrote:
> Vladimir Prus wrote:
> > The above-mentioned test contains this:
> >
> > long B53 = - (1LL << 53);
> >
> > strictly speaking, this is not correct code. The C standard says about
> > shift: "if the value of the first operator is ... or greater than ... the
> > width of the promoted left operand, the behaviour is
2006 Mar 01
3
[LLVMdev] InstructionSelectBasicBlock question
Hi,
I have two questions about the above method of the SelectionDAGISel class.
1. The overrides in PPCDAGToDAGISel and in I64DAGToDAGISel are identical
(except for PPCISD::FIRST_NUMBER vs. IA64ISD::FIRST_NUMBER).
Maybe, this means that it would be better if SelectionDAGISel had default
implementation? That would remove this code duplication.
If desired, SelectionDAGISel can have both
2004 Jul 08
2
[LLVMdev] Callee saved register, almost
I've another problem. There's one register, gr6, which is used to return high
part of return value for functions returning 64-bit values. For such
functions, the register should not be saved, naturally.
But when function does not return 64-bit value, then the register must be
saved. How can I express this in .td file?
- Volodya
2004 Aug 27
2
[LLVMdev] PrologEpilogInserter question
Hello,
after some time I'm trying to build my code with the current CVS of LLVM, and
have a problem. The mentioned file, around line 184, contains:
if (FixedSlot == FixedSpillSlots+NumFixedSpillSlots) {
// Nope, just spill it anywhere convenient.
FrameIdx = FFI->CreateStackObject(RegInfo->getSpillSize(Reg)/8,
2005 Apr 25
5
[LLVMdev] "Best" alias analysis algorithm
Hello,
I'm playing with alias analysis, using the following program:
%i = external global int ; <int*> [#uses=2]
implementation ; Functions:
int %_Z3bari(int %p) {
entry:
%tmp.0 = load int* %i ; <int> [#uses=1]
%tmp.1 = setgt int %tmp.0, 10 ; <bool> [#uses=1]
br bool %tmp.1, label %then, label %UnifiedReturnBlock
then:
2006 Jun 04
3
[LLVMdev] "pure" functions"
Hi,
say I've a LLVM module with a call instruction. The called function is
"pure", that is it has no side-effects at all. How can I communicate this
to LLVM, so that the function call can be removed if the return value is
never used?
Thanks,
Volodya
2004 Nov 26
2
[LLVMdev] Running specific passes
Hello,
in the implementation of some analysis, I need to change the program and then
invoke Mem2Reg pass. That pass, in turn, requires other analysis, so I must
use PassManager. Here's the code I ended up with:
bool runOnFunction(llvm::Function& m)
{
visit(m);
ExistingModuleProvider mp(m.getParent());
2004 Jul 01
3
[LLVMdev] Operand constraints
On my target, the multiplication can involve all general purpose registers,
but there's are still some restrictions: the first and the second operand as
well as the result must be in different registers, and neither register can
be gr7. How can I enforce this restriction on the register allocator?
- Volodya
2006 Jun 04
3
[LLVMdev] [PATCH] BasicBlock::getFirstNonPHI
Hi,
everytime one has to add instruction at the beginning of a basic block, one
has to skip past PHI nodes that are already there. How about adding a new
method to BasicBlock, to get that first non-PHI instruction? So, adding an
instruction will be as simple as:
new SomeInstruction(............., BB->getFirstNonPHI())
Patch attached. Comments?
- Volodya
-------------- next part
2004 Jul 07
0
[LLVMdev] Duplicate assignment in LLVM?
Okay, let me test with exactly your options and I'll let you know what I
get.
Reid.
On Wed, 7 Jul 2004 19:53:15 +0400
Vladimir Prus <ghost at cs.msu.su> wrote:
> Reid Spencer wrote:
>> Volodya,
>>
>> I think you may need to update your CFE and rebuild. I compiled the test
>> using my local build and I didn't get the results you see below. I'm
2004 Jun 09
2
[LLVMdev] Saving registers used by function
Alkis Evlogimenos wrote:
> On Wed, 2004-06-09 at 04:56, Vladimir Prus wrote:
> > Hello!
> > Is there an (semi)automatic way to save registers used by a function? For
> > example, on my target I have to store ar0-ar4 and gr0-gr4, gr5, gr6. For
> > now I just emit huge prologue code to push them all to stack -- even if
> > they are not modified at all.
> >
>
2004 Jul 08
0
[LLVMdev] UnitTests/2002-05-19-DivTest.c
Vladimir Prus wrote:
> The above-mentioned test contains this:
>
> long B53 = - (1LL << 53);
>
> strictly speaking, this is not correct code. The C standard says about
> shift: "if the value of the first operator is ... or greater than ... the
> width of the promoted left operand, the behaviour is underfined".
Forget this, I've missed the 'LL'