Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] Unused malloc/free don't get optimized"
2007 Feb 14
0
[LLVMdev] Unused malloc/free don't get optimized
On Tue, 13 Feb 2007, Nicola Lugato wrote:
> Hi, i have some code that allocate some memory, store the pointer to a
> variable, read it back and deallocates it, like this:
ok
> i expected the optimized to remove everything, but after running it
> the code i get is:
>
> int %main(int %argc, ubyte** %argv) {
> %malloc_206 = malloc [10 x ubyte]
> %malloc_206.sub =
2007 Feb 14
2
[LLVMdev] Unused malloc/free don't get optimized
I've made some other test and it looks like it don't remove even
simple malloc/free couple. Maybe there's something wrong in the way i
use the opt command. How can i tell him to optimize at best, whitout
specifing each pass? I'm not using c/c++ frontend, just the assembler.
Thanks in advance
On 2/14/07, Chris Lattner <sabre at nondot.org> wrote:
> On Tue, 13 Feb 2007,
2007 Feb 14
0
[LLVMdev] Unused malloc/free don't get optimized
Hi Nicola,
On Wed, 2007-02-14 at 18:54 +0100, Nicola Lugato wrote:
> I've made some other test and it looks like it don't remove even
> simple malloc/free couple. Maybe there's something wrong in the way i
> use the opt command.
No, there's not. LLVM doesn't provide the transform you want. As Chris
mentioned, if you open a Bugzilla report (http://llvm.org/bugs) and
2002 Sep 11
1
[LLVMdev] FW: question about malloc call vs. instruction
I'm forwarding this question to llvmdev:
-----Original Message-----
From: lee white baugh [mailto:leebaugh at students.uiuc.edu]
Sent: Wednesday, September 11, 2002 1:27 AM
To: Vikram S. Adve
Subject: RE: mp1
i'll attempt to address the issues i raised in my long email as i am able.
as i said i have figured out the worklist thing, and am happy to report
that i've negotiated lots of
2006 Mar 16
2
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
Hello! I'm compiling code which uses pointers as iterators. For some
reason--probably a silly misunderstanding of the docs--I can't
eliminate duplicate pointer loads. I'll probably figure this out
eventually, but if somebody else sees the answer instantly, I
certainly won't complain. :-)
Here are the optimizers I'm running:
opt -f -simplifycfg -dce -instcombine
2007 Mar 01
2
[LLVMdev] Version 1.9 SSA form question
int %nlz10(uint %param.x) {
%.t3 = shr uint %param.x, ubyte 1 ; <uint>
[#uses=1]
%.t4 = or uint %.t3, %param.x ; <uint> [#uses=2]
%.t7 = shr uint %.t4, ubyte 2 ; <uint> [#uses=1]
%.t8 = or uint %.t7, %.t4 ; <uint> [#uses=2]
%.t11 = shr uint %.t8, ubyte 4 ; <uint> [#uses=1]
2002 Sep 25
3
[LLVMdev] question about GetElementPtr Instruction
I have a question about GetElementPtr.
Suppose I have an GetElementPtr Instruction GI:
%reg = getelementptr %ST* %s, uint 1, ubyte 2, ubyte 1, uint
5, uint 13
I want to check if this is the reference of a component of a
structure, how can I do that? Should I check which operand of
this instruction is 'ubyte' type? How can I do that in code?
should I use
ubyte *a =
2004 May 11
2
[LLVMdev] Problems accessing structs
Hello!
I get some odd behaviour using my structs:
"myKernelMap" = type {int (sbyte*)*, int ()*}
"Kernel" = type {"myKernelMap"*}
The second member ( int()* ) is a pointer to the %getchar() function.
I want to call getchar using this function:
int "callmyKernelgetchar_kernel"("Kernel"* "myKernel")
{
"PTRMAP" =
2002 Sep 26
2
[LLVMdev] question about GetElementPtr Instruction
You are correct, ubyte 2 simply means 3rd element of the structure. This
quantity is always constant (it specifies the field number), so we could
have used any signed or unsigned integer type for it instead of ubyte.
UByte means we are limited to at most 256 structure fields but it also makes
the bytecode representation more compact. (To remove this restriction, we
may migrate to UInt in the
2006 Mar 17
0
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
On Thu, 16 Mar 2006, Eric Kidd wrote:
> Hello! I'm compiling code which uses pointers as iterators. For some
> reason--probably a silly misunderstanding of the docs--I can't eliminate
> duplicate pointer loads. I'll probably figure this out eventually, but if
> somebody else sees the answer instantly, I certainly won't complain. :-)
There are no stupid questions.
2007 Feb 17
2
[LLVMdev] Unused malloc/free don't get optimized
Reid Spencer wrote:
> On Wed, 2007-02-14 at 18:54 +0100, Nicola Lugato wrote:
>
>>I've made some other test and it looks like it don't remove even
>>simple malloc/free couple. Maybe there's something wrong in the way i
>>use the opt command.
>
> No, there's not. LLVM doesn't provide the transform you want. As Chris
> mentioned, if you open a
2015 Aug 24
4
[PATCH] nv50: avoid using inline vertex data submit when gl_VertexID is used
The hardware only generates vertexid when vertices come from a VBO. This
fixes:
vertexid-drawelements
vertexid-drawarrays
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: "11.0" <mesa-stable at lists.freedesktop.org>
---
src/gallium/drivers/nouveau/nv50/nv50_program.c | 1 +
src/gallium/drivers/nouveau/nv50/nv50_program.h | 1 +
2004 May 03
0
[LLVMdev] Problems with getelementptr
On Mon, 3 May 2004, Anders Alexandersson wrote:
> Hello!
>
> I'm having trouble with pointer traversing. I have a design as follows:
> class -> map -> classFunctions
>
> Starting with a pointer to the class, I want to get a pointer to a
> classFunction via a pointer to the map.
Okay...
> I can't get that function pointer!
>
> How shall I think to get
2004 May 11
0
[LLVMdev] Problems accessing structs
Anders Alexandersson wrote:
> Hello!
>
> I get some odd behaviour using my structs:
>
> "myKernelMap" = type {int (sbyte*)*, int ()*}
> "Kernel" = type {"myKernelMap"*}
>
> The second member ( int()* ) is a pointer to the %getchar() function.
>
> I want to call getchar using this function:
>
> int
2004 May 03
2
[LLVMdev] Problems with getelementptr
Hello!
I'm having trouble with pointer traversing. I have a design as follows: class -> map -> classFunctions
Starting with a pointer to the class, I want to get a pointer to a classFunction via a pointer to the map.
I can't get that function pointer!
How shall I think to get the traversing right (see code below)? Is it something with the fact that I am using only pointers in my
2006 Mar 17
3
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
On Mar 16, 2006, at 8:47 PM, Chris Lattner wrote:
> On Thu, 16 Mar 2006, Eric Kidd wrote:
>> The duplicate loads appear at the top of the %regex6 and %regex2
>> blocks below. I've tried various alias analysis implementations
>> either alone or in combination.
>
> LICM doesn't remove common subexpressions, also -load-vn doesn't
> affect LICM. Try
2005 Jun 09
1
[LLVMdev] gmake check failures on FreeBSD 5.4
FAIL:
/usr/home/jeffc/llvm/obj/../test/Regression/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll:
%Y = cast sbyte %SB to uint ; <uint> [#uses=1]
%Y = cast sbyte %SB to int ; <int> [#uses=1]
%Y = cast sbyte %SB to int ; <int> [#uses=1]
%Y = cast ubyte %SB to uint ; <uint> [#uses=1]
%Y = cast ubyte %SB to
2011 May 04
1
Problems saving ff objects
Dear list,
I am trying to understand and use the ff package. As I had some problems saving some ff objects, and as I did not fully manage to understand the whole concept of *.ff, *.ffData and *.RData with the help of the documentation, I tried to reproduce the examples from the help of ffsave.
When I ran, however : (copied from the help)
message("let's create some ff objects")
2005 Jul 29
1
[LLVMdev] How to define a function with multiple return values?
LegalizeDAG.cpp
SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) {
case ISD::RET:
Tmp1 = LegalizeOp(Node->getOperand(0)); // Legalize the chain.
switch (Node->getNumOperands()) {
case 2: // ret val
[skipped]
case 1: // ret void
[skipped]
default: { // ret <values>
[skipped]
Does it imply that a ret instruction may
2005 Jun 13
2
[LLVMdev] problem compiling the cfrontend on Linux/PPC
> Okay, I took a closer look at your output.
>
> I was correct in that gccas is attempting to assemble a native PPC
> assembly language file. However, this appears to be happening because
> the assembly file is generated by the GCC Makefiles for libgcc2 (in
> llvm-gcc/gcc/config/rs6000/t-ppccomm, I think).
>
> The first thing I would try is Marco's suggestion: add