<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel">
    <title>gmane.comp.compilers.llvm.devel</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50106"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50105"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50104"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50103"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50102"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50101"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50100"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50099"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50098"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50097"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50096"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50095"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50094"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50093"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50092"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50091"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50090"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50089"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50087"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50082"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50106">
    <title>Re: RFC: R600, a new backend for AMD GPUs</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50106</link>
    <description>&lt;pre&gt;Hi Tom,

I have a higher-level question regarding this back-end.  If I have an LLVM
IR module and run it through this back-end, it seems like the only output
option is a binary format.  Is this a device binary, or another
intermediate format?

If the input LLVM IR module was a compute kernel, how would I go about
executing it on an AMD GPU?  Can I use the APP SDK to load the binary,
perhaps through the CAL interfaces?  How about the OpenCL binary interface?

On Tue, Apr 24, 2012 at 2:52 PM, Tom Stellard &amp;lt;tstellar&amp;lt; at &amp;gt;gmail.com&amp;gt; wrote:




&lt;/pre&gt;</description>
    <dc:creator>Justin Holewinski</dc:creator>
    <dc:date>2012-05-25T21:37:26</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50105">
    <title>Re: MachineOperand TargetFlags being ignored in register coalescing pass</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50105</link>
    <description>&lt;pre&gt;
On May 25, 2012, at 8:15 AM, Tom Stellard &amp;lt;thomas.stellard&amp;lt; at &amp;gt;amd.com&amp;gt; wrote:


Just use immediate operands.

/jakob
&lt;/pre&gt;</description>
    <dc:creator>Jakob Stoklund Olesen</dc:creator>
    <dc:date>2012-05-25T19:10:34</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50104">
    <title>generating LLVM code that meets the C ABI</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50104</link>
    <description>&lt;pre&gt;I want to generate LLVM functions that meet the C ABI for function
calls/returns (preferably on multiple platforms but x86_64 would be OK
for now).
I know that LLVM doesn't handle this completely automatically (e.g.
the type {i32,i32} should be passed as a single i64 on x86_64 linux).
Is there any library that automates the generation of function
declarations meeting the ABI and emit marshalling/demarshalling code
from LLVM's types?
I would imagine that Clang needs to do this internally,  where does
this code live?

Thanks for your help!

Zach
&lt;/pre&gt;</description>
    <dc:creator>Zach Devito</dc:creator>
    <dc:date>2012-05-25T18:29:58</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50103">
    <title>Re: alloc_size metadata</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50103</link>
    <description>&lt;pre&gt;
Just a nitpick here: in some cases, you can detect if a function is a 
wrapper around an allocator.  A simple data-flow analysis can detect 
whether the function's return value is always the result of a known 
allocator and whether the parameters to the known allocator are a 
function of the function's arguments.

This can work for some allocators, but not all, and I don't know how 
well it works in practice.  However, it's not technically impossible all 
the time.
:)

I think the poolalloc project has an implementation of this analysis: 
poolalloc/lib/DSA/AllocatorIdentification.cpp.

&lt;/pre&gt;</description>
    <dc:creator>John Criswell</dc:creator>
    <dc:date>2012-05-25T17:55:07</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50102">
    <title>Re: Minor correction to the Visual Studio documentation</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50102</link>
    <description>&lt;pre&gt;Yes, thank you!  I didn't think of that.


2012/5/25 Anton Korobeynikov &amp;lt;anton&amp;lt; at &amp;gt;korobeynikov.info&amp;gt;




&lt;/pre&gt;</description>
    <dc:creator>Mikael Lyngvig</dc:creator>
    <dc:date>2012-05-25T17:46:33</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50101">
    <title>Re: alloc_size metadata</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50101</link>
    <description>&lt;pre&gt;
It's not a general solution, and not it even for C, of course.
But it's very useful for applications that have their own malloc  
wrappers and implementations. For example, LLVM, which has its own  
allocators! Without this metadata, you'll never be able to analyze  
LLVM's code at all. It's simply impossible to detect, in general, if a  
function is a custom allocator.
So, yes, some metadata is necessary. I agree my proposal is not  
general enough for all applications. For example, I run the tool over  
some code yesterday and I found an allocator that is the following:  
alloc(x, y, x) and allocates 'x * y + z' bytes. And that cannot be  
represented either at source-code level (with GCC's attribute) nor at  
IR level following my metadata proposal.
I'm happy to implement something more general if we come up with a  
better design.

Nuno
&lt;/pre&gt;</description>
    <dc:creator>Nuno Lopes</dc:creator>
    <dc:date>2012-05-25T17:41:19</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50100">
    <title>Re: Minor correction to the Visual Studio documentation</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50100</link>
    <description>&lt;pre&gt;Hello Mikael,

Or you can use windows.h from mingw :)

&lt;/pre&gt;</description>
    <dc:creator>Anton Korobeynikov</dc:creator>
    <dc:date>2012-05-25T17:08:23</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50099">
    <title>Changes to TargetLowering::{LowerCallTo,LowerCall}</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50099</link>
    <description>&lt;pre&gt;A change has just been committed that changes the interface for TargetLowering::LowerCallTo and TargetLowering::LowerCall.  Instead of passing a mess of parameters to these functions, a new structure has been created that encapsulates these parameters.  The motivation is that additional fields can be added to this structure (with appropriate changes to SelectionDAGBuilder for populating the new fields) without forcing an ABI change on each and every target.  In-tree targets have been updated accordingly, so no change is required.  However, if you have an out-of-tree target that is following trunk, please be aware that this *will* break your build.  Please see any in-tree target for the new interface and how to access the values that used to be available as individual function parameters.



As a quick example, the ARM implementation for LowerCall is now:



SDValue

ARMTargetLowering::LowerCall(TargetLowering::CallLoweringInfo &amp;amp;CLI,

                             SmallVectorImpl&amp;lt;SDValue&amp;gt; &amp;amp;InVals) const {

  S&lt;/pre&gt;</description>
    <dc:creator>Justin Holewinski</dc:creator>
    <dc:date>2012-05-25T16:59:27</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50098">
    <title>Re: Predicate registers/condition codes question</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50098</link>
    <description>&lt;pre&gt;
I see that PPC has its condition registers CRRC as i32, and that PPC
also has general purpose i32 registers GPRC, so the situation is slightly
different than on Hexagon, where there are no general purpose registers
of the same size as the predicate registers: i8.

So on PPC it is "safe" to promote from i1 to i32 and to "allow confusion"
between the promoted i32 and the existing operations that were using i32:
as we can always select between a CR and a GPR following the op type.

On Hexagon, if type legalization promotes i1 into i8, that would create
this confusion between the i8 ops existing before legalization and the
newly promoted ones.  Then as Ivan was suggesting, we will have to
provide custom expansion to promote the "illegal" ops on i8 on almost
all the operations, except logical ops.

Sebastian
--
Qualcomm Innovation Center, Inc is a member of Code Aurora Forum
&lt;/pre&gt;</description>
    <dc:creator>Sebastian Pop</dc:creator>
    <dc:date>2012-05-25T16:54:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50097">
    <title>Re: alloc_size metadata</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50097</link>
    <description>&lt;pre&gt;
True.  It also doesn't handle a number of "C" allocators like strdup(), 
etc.  Making it that general, though, may be tricky, and I don't think 
it negates the utility of the simpler form.  I suspect a fair number of 
allocators could be described by the alloc_size feature.

Even in the C/C++ world, I think it'd be useful.  There's the 
GC_malloc() in Boehm's garbage collector, kmalloc() in the Linux kernel, 
malloc wrappers in applications, memalign(), etc.


I see.  That makes sense.

&lt;/pre&gt;</description>
    <dc:creator>John Criswell</dc:creator>
    <dc:date>2012-05-25T16:38:39</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50096">
    <title>Re: Predicate registers/condition codes question</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50096</link>
    <description>&lt;pre&gt;Hi Ivan,

On Thu, May 24, 2012 at 6:43 PM, Ivan Llopard &amp;lt;ivanllopard&amp;lt; at &amp;gt;gmail.com&amp;gt; wrote:

I will try this, although I think it will be painful to maintain an up
to date list
of ops marked for promotion.

I was hoping to find a way to implement the opposite: specify that the
few logical ops are legal on i8, and the default action on the rest of
opcodes would be to promote to i32.

Another way that would be practical is to "remember" that an i8 type
is the result of a first promotion from i1: that would be a legal i8, and
an i8 type that has not been already promoted is illegal and has to
be promoted to i32.  The only way I found to implement this is with a
different type: p8.


Copies between pred and int registers are allowed in Hexagon.

Sebastian
--
Qualcomm Innovation Center, Inc is a member of Code Aurora Forum
&lt;/pre&gt;</description>
    <dc:creator>Sebastian Pop</dc:creator>
    <dc:date>2012-05-25T16:35:00</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50095">
    <title>Re: Minor correction to the Visual Studio documentation</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50095</link>
    <description>&lt;pre&gt;Now I recall what the problem was that I had: My code makes use of the
Win32 API and that means pulling in Windows.h, which again pulls in some
headers that make use of the force_inline thingy, which is not supported
under Windows yet.

I guess if I stuck with portable code, I could probably use Clang for
Windows.  Once again, I have to visit the thinking box and figure out what
to do.

But thanks for the description of how to do this.  It is surely going to
save both me and others a lot of time.

2012/5/25 Nathan Jeffords &amp;lt;blunted2night&amp;lt; at &amp;gt;gmail.com&amp;gt;

_______________________________________________
LLVM Developers mailing list
LLVMdev&amp;lt; at &amp;gt;cs.uiuc.edu         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
&lt;/pre&gt;</description>
    <dc:creator>Mikael Lyngvig</dc:creator>
    <dc:date>2012-05-25T16:32:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50094">
    <title>Re: alloc_size metadata</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50094</link>
    <description>&lt;pre&gt;On Fri, 25 May 2012 17:43:52 +0200
Duncan Sands &amp;lt;baldrick&amp;lt; at &amp;gt;free.fr&amp;gt; wrote:


I think this is a good point, here's a suggestion:

Have the metadata name two functions, both assumed to have the same
signature as the tagged function, one which returns the offset of the
start of the allocated region and one which returns the length of the
allocated region. Alternatively, these functions could take the same
signature and additionally the returned pointer of the tagged
function, and then one function can return the start of the region and
the other the length.

For static analysis, we can attempt to inline these functions and then
use SCEV (dead code elimination will then get rid of the unused
results). For runtime checks, calls (which may also be inlined) can be
easily constructed.


Does the current code even handle calloc? I only see malloc and new.

 -Hal




&lt;/pre&gt;</description>
    <dc:creator>Hal Finkel</dc:creator>
    <dc:date>2012-05-25T16:28:04</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50093">
    <title>Re: -fbounds-checking vs {SAFECode,ASan}</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50093</link>
    <description>&lt;pre&gt;
While I agree that you're probably correct about the bounds checking 
covering a tiny portion of buffer overflows, I don't think we really 
know that for certain.  An experiment to find the percentage of pointer 
arithmetic operations that can be checked in this way would be interesting.


I agree that any future documentation on any added security attack 
mitigation features should be clear on which attacks are prevented and 
which are not.

Having a security solution that prevents some attacks but not others is 
okay.  Defeating all memory safety attacks with acceptable performance 
is still an open research question.  What I think is important is 
knowing which attacks a technique defeats and at what cost; you 
essentially want to know what you're buying and for how much.

My concern with Nuno's approach is that it is not clear which exploits 
it will prevent and which it will not.  Alternatively, if we implemented 
CFI, we know *exactly* which types of attacks are prevented and which 
are not (and, I th&lt;/pre&gt;</description>
    <dc:creator>John Criswell</dc:creator>
    <dc:date>2012-05-25T16:20:28</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50092">
    <title>Re: Minor correction to the Visual Studio documentation</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50092</link>
    <description>&lt;pre&gt;I checkout LLVM and clang from SVN, then use CMake to generate project
files for Visual Studio 2010 (I started with 2008). The LLVM project
compiles successfully and gives me all the tools including Clang. For a few
tests, I compile C++ code with Clang which if I need to I link, I use
MinGW's ld passing all the relevant object files and libraries including
correctly ordering the start-up code and such.

My project is C++ language front end using a CMake build script to generate
a Visual Studio 2010 project. Within the CMake build script I specify each
individual library I need to link against in the correct order.

LLVM is written in C++ so it is the de facto interface.  From what I
understand the C bindings are not complete, but they are quite usable.

this is the library section of my CMake build script for the final
executable:

${PLATFORM_LIBS}

#LLVMX86Disassembler
#LLVMX86AsmParser
LLVMX86AsmPrinter
LLVMX86CodeGen
LLVMX86Utils
LLVMX86Desc
LLVMX86Info

LLVMSelectionDAG

LLVMAsmPrinter

#LLVMJIT
#LLVMExe&lt;/pre&gt;</description>
    <dc:creator>Nathan Jeffords</dc:creator>
    <dc:date>2012-05-25T15:57:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50091">
    <title>Re: alloc_size metadata</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50091</link>
    <description>&lt;pre&gt;Hi John,

On 25/05/12 17:22, John Criswell wrote:

basically it feels like "I only know about C, here's something that pretends to
be general but only handles C".  Consider a language with a string type that
contains the string length as well as the characters.  It has a library function
allocate_string(length).  How much does it allocate?  length+4 bytes. That can't
be represented by alloc_size.  What's more, it may well store the length at the
start, and return a pointer to just after the length: a pointer to the first
character.  alloc_size can't represent "the allocated memory starts 4 bytes
before the return value" either.  In short, it feels like a hack for handling
something that turns up in some particular C code that someone has, rather than
a general solution to the general problem.


no, I'm thinking that SAFECode won't need to look at or worry about the
attribute at all, because the LLVM methods will know about it and serve
up the appropriate info.  Take a look at Analysis/MemoryBuiltins.h.  In
s&lt;/pre&gt;</description>
    <dc:creator>Duncan Sands</dc:creator>
    <dc:date>2012-05-25T15:43:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50090">
    <title>Re: alloc_size metadata</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50090</link>
    <description>&lt;pre&gt;
Hrm.  I haven't formed an opinion on what the attributes should look 
like.  I think supporting the ones established by GCC would be important 
for compatibility, and on the surface, they look reasonable.  Devising 
better ones for Clang is fine with me.  What about them feels klunky?


It probably could.  It doesn't simply because SAFECode was written 
before these features existed within LLVM.
:)


I'm not sure what you mean by "LLVM utility," but I think we're thinking 
along the same lines.  Clang/LLVM implement the alloc_size attributes, 
we change SAFECode to recognize it, and so when people use it, SAFECode 
benefits automagically.

Am I right that we're thinking the same thing, or did I completely 
misunderstand you?

&lt;/pre&gt;</description>
    <dc:creator>John Criswell</dc:creator>
    <dc:date>2012-05-25T15:22:29</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50089">
    <title>MachineOperand TargetFlags being ignored in registercoalescing pass</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50089</link>
    <description>&lt;pre&gt;Hi,

On AMD GPUs we have source modifiers and output modifiers, which are bits
you can set on instructions to perform some simple no cost operations
on either the operands or the result of an instruction (floating point
values only).

The source modifiers are FABS and FNEG and are applied to the operands
before an instruction is executed.

The output modifiers are CLAMP (clamp result between 0.0f and 1.0f)
and OMOD (multiply the result by 0.5f, 2.0f, or 4.0f).  These are
applied to the result of an instruction after it is executed.

For the R600 backend, I'm using the MachineOperand TargetFlags to
keep track of the modifiers, but I've noticed when I use them on
operands to COPY instructions they are not propagated when registers
are coalesced.  Is this a bug, or should I not be using TargetFlags for
storing this kind of information?

-Tom
&lt;/pre&gt;</description>
    <dc:creator>Tom Stellard</dc:creator>
    <dc:date>2012-05-25T15:15:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50087">
    <title>Re: use AVX automatically if present</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50087</link>
    <description>&lt;pre&gt;llc built from the current trunk generates avx code as you expected. I tested that. Avx in llvm3.1 is not enabled by default.

-----Original Message-----
From: Henning Thielemann [mailto:llvm&amp;lt; at &amp;gt;henning-thielemann.de] 
Sent: Thursday, May 24, 2012 5:57 PM
To: Pan, Wei
Cc: LLVM developer mailing list
Subject: Re: use AVX automatically if present


On Thu, 24 May 2012, Pan, Wei wrote:


I forgot to mention that I am using recent LLVM-3.1 and in principle my llc knows about avx as I have shown in the second example. But avx does not seem to be used by default.


On Thu, 24 May 2012, Henning Thielemann wrote:

&lt;/pre&gt;</description>
    <dc:creator>Pan, Wei</dc:creator>
    <dc:date>2012-05-25T12:54:24</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50082">
    <title>Re: alloc_size metadata</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50082</link>
    <description>&lt;pre&gt;

I think this is key -- there should be some clear numbers and evidence that
this is a really important semantic extension in order to get accurate and
efficient results.

And as Duncan points out, we should be confident that there is no existing
mechanism to get the same optimization improvements.
_______________________________________________
LLVM Developers mailing list
LLVMdev&amp;lt; at &amp;gt;cs.uiuc.edu         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
&lt;/pre&gt;</description>
    <dc:creator>Chandler Carruth</dc:creator>
    <dc:date>2012-05-25T07:22:24</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50081">
    <title>Re: alloc_size metadata</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/50081</link>
    <description>&lt;pre&gt;Hi Kostya,


I don't think you need the attribute for this: LLVM already has utilities that
know about malloc and C++'s new.  Can't you just use them?

Ciao, Duncan.
&lt;/pre&gt;</description>
    <dc:creator>Duncan Sands</dc:creator>
    <dc:date>2012-05-25T07:17:58</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.compilers.llvm.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.compilers.llvm.devel</link>
  </textinput>
</rdf:RDF>

