similar to: [LLVMdev] Tracking global variables accesses

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Tracking global variables accesses"

2005 Apr 20
1
[LLVMdev] Tracking global variables accesses
On Wednesday 20 April 2005 17:41, Chris Lattner wrote: > On Wed, 20 Apr 2005, Vladimir Prus wrote: > > Is there any analysis in LLVM that can be used to obtain, for a function, > > the list of all global variables that may be modified as a result of a > > call to that function (taking into account any calls in those function > > and aliasing). If not, what's the best
2005 Apr 20
0
[LLVMdev] Tracking global variables accesses
On Wed, 20 Apr 2005, Vladimir Prus wrote: > Is there any analysis in LLVM that can be used to obtain, for a function, the > list of all global variables that may be modified as a result of a call to > that function (taking into account any calls in those function and aliasing). > If not, what's the best way to implement such a analysis? No, not directly. However, with the
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:
2005 Apr 25
0
[LLVMdev] "Best" alias analysis algorithm
On Monday 25 April 2005 14:43, Vladimir Prus wrote: > The 'i' variable is never modified in the program, however, all analyses > except for -globalsmodref-aa report that the > > %tmp.3 = call int %_Z3bari( int %p ) ; <int> [#uses=1] > > instruction can modify 'i'. I'm somewhat surprised, because it looks like > -globalsmodref-aa is the simplest
2005 Apr 25
2
[LLVMdev] "Best" alias analysis algorithm
On Mon, 25 Apr 2005, Vladimir Prus wrote: > The GlobalsModRef::getModRefInfo has this logic: > > // If we are asking for mod/ref info of a direct call with a pointer to a > // global we are tracking, return information if we have it. > if (GlobalValue *GV = const_cast<GlobalValue*>(getUnderlyingObject(P))) > if (GV->hasInternalLinkage()) > > So, no
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
2004 May 05
3
[LLVMdev] Open Source Contributions (was Re: Benchmarks)
Chris Lattner wrote: > > Right, but you'd need HTTP/FTP server. Not a problem for *me*, but lots > > of folks are behind firewalls and can't do that. > > Sure. I can't imagine that there is a wonderful solution other than this > though. In particular, how can you do distributed development without it? > The whole idea is to reduce the need for a completely
2005 Apr 26
0
[LLVMdev] "Best" alias analysis algorithm
On Monday 25 April 2005 23:40, Chris Lattner wrote: > On Mon, 25 Apr 2005, Vladimir Prus wrote: > > The GlobalsModRef::getModRefInfo has this logic: > > > > // If we are asking for mod/ref info of a direct call with a pointer > > to a // global we are tracking, return information if we have it. > > if (GlobalValue *GV = > >
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:
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,
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
2005 Sep 23
2
[LLVMdev] name collision - llvm::tie and boost::tie
On Thursday 22 September 2005 19:12, Chris Lattner wrote: > On Thu, 22 Sep 2005, Tzu-Chien Chiu wrote: > > On 22/09/05, Bill Wendling <isanbard at gmail.com> wrote: > >> Couldn't you state the explicit namespaces. So not using "using > >> namespace llvm" and instead prefix all calls with "llvm::"? > > > > The header files in
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
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 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