<?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/49895"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49894"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49893"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49892"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49891"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49890"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49889"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49888"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49886"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49885"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49884"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49883"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49882"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49881"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49880"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49879"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49878"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49876"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49875"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49873"/>
      </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/49895">
    <title>MinGW - LLVM Pass - Undefined Reference</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49895</link>
    <description>&lt;pre&gt;Hi,

I have installed the latest MinGW (version 4.6.3 i386, not version 3.X) and then compiled the LLVM source files (version 2.9) on Windows platform (using the default configuration). It seems that those binary tools (such as llvm-bcanalyzer, opt, etc.) have been successfully generated, as they even work well with existing bitcode files compiled and linked on Linux platform (Ubuntu 8.04/10.04/10.10 x86_64).

The sample LLVM pass (namely /lib/LLVMHello.so), however, has not been generated. Especially once I compile any LLVM pass, the MinGW linker (version 2.22 i386) reports many errors due to various undefined references. Thus I wonder whether the LLVM framework supports developing LLVM passes with MinGW or not, or if there are some special issues I missed when compiling the LLVM source files.

Many thanks.

Feng
&lt;/pre&gt;</description>
    <dc:creator>Feng Xie</dc:creator>
    <dc:date>2012-05-17T00:06:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49894">
    <title>template patterns w/ Tablegen</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49894</link>
    <description>&lt;pre&gt;Is there any way to write patterns in Tablegen so that the same pattern can be used for a SDNode, Intrinsic and PatFrag nodes? Having to duplicate everything three times is messy and annoying to maintain.
Maybe template patterns?
Thanks,
Micah
_______________________________________________
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>Villmow, Micah</dc:creator>
    <dc:date>2012-05-16T22:47:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49893">
    <title>clang looking for gold plugin when used with '-emit-llvm'option</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49893</link>
    <description>&lt;pre&gt;Hi All,
   I built the binaries from the 3.1 final tag 
(http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_31/final/ etc) as below:


  I notice that I can compile a program using clang as below:


  If I try to generate the bitcode only, it gives an error:

I then ran it with -v option and it produces:
 n/crd/neo/temp/jit -ferror-limit 19 -fmessage-length 177 -mstackrealign -fgnu-runtime -fobjc-runtime-has-arc -fobjc-runtime-has-weak -fobjc-fragile-abi -fdiagnostics-show-option -fcolor-dia!
 gnostics
 -o /tmp/test-LU0kNI.o -x c test.c
 /local/mnt/workspace/ashoknn/crd/neo/llvmsvn/build/bin/bin/../lib/LLVMgold.so /tmp/test-LU0kNI.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/l!
 ib/x86_6
4-linux-gnu/gcc/x86_64-linux-gnu/4.5/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/../../../../x86_64-linux-gnu/crtn.o

Any clues?

TIA,
Ashok
&lt;/pre&gt;</description>
    <dc:creator>Ashok Nalkund</dc:creator>
    <dc:date>2012-05-16T21:47:01</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49892">
    <title>announce: The C Conference; San Diego, CA; August 28th</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49892</link>
    <description>&lt;pre&gt;The first C Conference is happening in San Diego, CA on August 28th
2012. It is focused on the C programming language and modern
developments in that ecosystem.  The conference is co-located with
LinuxCon and Linux Plumbers Conference.

  http://www.cconf.org/

The "Reverse CFP" is open now and tickets are available. Let us know
what you want to see at the conference.

  http://www.cconf.org/pfc/

See you there.

Brandon
&lt;/pre&gt;</description>
    <dc:creator>Brandon Philips</dc:creator>
    <dc:date>2012-05-16T20:20:28</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49891">
    <title>Generating Machine Loads</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49891</link>
    <description>&lt;pre&gt;Codegen Experts,

Given a MachineInstr that is a store, is there a general way to generate
a MachineInstr load from the same address, somewhat analogous to how
loadRegFromStackSlot is a general way to generate a MachineInstr load?
I would rather not to have to re-code this for every target we might
use.  I can't find anything immediately obvious in TargetInstrInfo or
other Target headers.

Thanks!

                             -Dave
&lt;/pre&gt;</description>
    <dc:creator>dag&lt; at &gt;cray.com</dc:creator>
    <dc:date>2012-05-16T16:30:29</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49890">
    <title>Re: NVPTX: __iAtomicCAS support ?</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49890</link>
    <description>&lt;pre&gt;
There are really two issues here.  

First, the error you are seeing is because calls are disabled in the back-end until an outstanding LLVM core patch is committed.  Hopefully, we'll be able to push that in soon.

Second, __iAtomicCAS() is a CUDA-C built-in function; the implementation is provided by a library linked with the LLVM IR before the NVPTX back-end sees it.  You will need to provide your own implementations for such functions.

-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
&lt;/pre&gt;</description>
    <dc:creator>Justin Holewinski</dc:creator>
    <dc:date>2012-05-16T14:21:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49889">
    <title>NVPTX: __iAtomicCAS support ?</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49889</link>
    <description>&lt;pre&gt;Dear colleagues,

I'm looking if we can replace nvopencc with LLVM NVPTX in our project.
It turns NVPTX won't work with the code nvopencc can handle (please
see the log below). So are atomic intrinsics not supported or am I
doing call in a wrong way?

Thanks,
- Dima.

SOURCE
========

dmikushin&amp;lt; at &amp;gt;hp2:~&amp;gt; cat kernelgen_monitor.ll
; ModuleID = '/opt/kernelgen/include/kernelgen_monitor.cu'
target datalayout = "e-p:64:64-i64:64:64-f64:64:64-n1:8:16:32:64"
target triple = "ptx64-unknown-unknown"

%struct.kernelgen_callback_t = type { i32, i32,
%"struct.kernelgen::kernel_t"*, i32, i32,
%struct.kernelgen_callback_data_t* }
%"struct.kernelgen::kernel_t" = type opaque
%struct.kernelgen_callback_data_t = type opaque

define ptx_kernel void &amp;lt; at &amp;gt;_Z17kernelgen_monitorPi(i32* %callback) nounwind {
entry:
  %callback.addr = alloca i32*, align 8
  store i32* %callback, i32** %callback.addr, align 8
  %0 = load i32** %callback.addr, align 8
  %1 = bitcast i32* %0 to %struct.kernelgen_callback_t*
  %lock = getelementptr inbounds %s&lt;/pre&gt;</description>
    <dc:creator>Dmitry N. Mikushin</dc:creator>
    <dc:date>2012-05-16T12:44:12</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49888">
    <title>Re: CloneFunctionInto() overwrites alignment attribute</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49888</link>
    <description>&lt;pre&gt;Short update:

It is possible to get around the problem by the following workaround:

1) create a temporary function declaration tmpF
2) tmpF-&amp;gt;setAttributes(targetF-&amp;gt;getAttributes)
3) CloneFunctionInto(targetF, sourceF, ...)
4) targetF-&amp;gt;copyAttributesFrom(tmpF)
5) delete tmpF

Storing the attributes of the target and calling setAttributes() after 
cloning does not work, apparently setAttributes() silently ignores 
alignments.

Cheers,
Ralf

On 5/15/12 6:18 PM, Ralf Karrenberg wrote:
&lt;/pre&gt;</description>
    <dc:creator>Ralf Karrenberg</dc:creator>
    <dc:date>2012-05-16T12:37:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49886">
    <title>Re: ATTN: PTX Back-End Users - EOL</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49886</link>
    <description>&lt;pre&gt;On Tue, May 15, 2012 at 10:11 PM, Justin Holewinski
&amp;lt;justin.holewinski&amp;lt; at &amp;gt;gmail.com&amp;gt; wrote:
Sound good to me!

Regards,
Che-Liang
&lt;/pre&gt;</description>
    <dc:creator>Che-Liang Chiou</dc:creator>
    <dc:date>2012-05-16T09:37:29</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49885">
    <title>Re: Scheduler Roadmap</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49885</link>
    <description>&lt;pre&gt;

Yes, absolutely.  There's certainly value there.

                             -Dave
&lt;/pre&gt;</description>
    <dc:creator>dag&lt; at &gt;cray.com</dc:creator>
    <dc:date>2012-05-15T20:07:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49884">
    <title>Re: MCJIT</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49884</link>
    <description>&lt;pre&gt;
Right, this shouldn't be required. The nativecodegen component is the
one which is supposed to make sure that X86 gets linked in.

 - Daniel

&lt;/pre&gt;</description>
    <dc:creator>Daniel Dunbar</dc:creator>
    <dc:date>2012-05-15T19:33:36</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49883">
    <title>Re: llvm-config Regression fix (Bug 11886)</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49883</link>
    <description>&lt;pre&gt;Consider me a buildbot for OS X and let me tell you it works great :).
Thank you so very much.

-Keno

On Tue, May 15, 2012 at 2:47 PM, Daniel Dunbar &amp;lt;daniel&amp;lt; at &amp;gt;zuster.org&amp;gt; wrote:

_______________________________________________
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>Keno Fischer</dc:creator>
    <dc:date>2012-05-15T19:01:58</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49882">
    <title>Re: llvm-config Regression fix (Bug 11886)</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49882</link>
    <description>&lt;pre&gt;I put in two slightly different fixes that I believe should cover the problem:
  http://llvm.org/viewvc/llvm-project?view=rev&amp;amp;revision=156837
  http://llvm.org/viewvc/llvm-project?view=rev&amp;amp;revision=156838

Let me know if your experience disagrees. I'll try and get these into
3.1 if Bill lets me after the buildbots give a check mark.

 - Daniel

On Tue, May 15, 2012 at 5:38 AM, Keno Fischer &amp;lt;kenof&amp;lt; at &amp;gt;stanford.edu&amp;gt; wrote:
&lt;/pre&gt;</description>
    <dc:creator>Daniel Dunbar</dc:creator>
    <dc:date>2012-05-15T18:47:24</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49881">
    <title>Re: TableGen pattern for negated operand</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49881</link>
    <description>&lt;pre&gt;Thanks for the reply Ivan.

I ended up writing a MachineFunctionPass to handle it, using the code
for FoldImmediate in the peephole optimizer as a guide.

Just thought I'd reply to archive my solution on the mail list.

Joe

On Fri, May 11, 2012 at 2:55 AM, Ivan Llopard &amp;lt;ivanllopard&amp;lt; at &amp;gt;gmail.com&amp;gt; wrote:
&lt;/pre&gt;</description>
    <dc:creator>Joe Matarazzo</dc:creator>
    <dc:date>2012-05-15T17:42:57</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49880">
    <title>Re: Metadata for Argument, BasicBlock</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49880</link>
    <description>&lt;pre&gt;

communication channel between passes.  This does not appear to be a
better approach than using LLVM's conventional pass communication channels.

Dan
&lt;/pre&gt;</description>
    <dc:creator>Dan Gohman</dc:creator>
    <dc:date>2012-05-15T17:14:07</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49879">
    <title>Re: Metadata for Argument, BasicBlock</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49879</link>
    <description>&lt;pre&gt;So, is there any chance that metadata for basic blocks is considered a 
useful feature?

There is a patch ready and on the commits-list, it compiles, passes all 
tests, has a test case of its own, and (as far as I can tell) does not 
interfere with anything.

Cheers,
Ralf

On 5/7/12 4:21 PM, Ralf Karrenberg wrote:
&lt;/pre&gt;</description>
    <dc:creator>Ralf Karrenberg</dc:creator>
    <dc:date>2012-05-15T16:29:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49878">
    <title>CloneFunctionInto() overwrites alignment attribute</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49878</link>
    <description>&lt;pre&gt;Hi everybody,

I am trying to clone a function body into an existing declaration.
That declaration has the same number of parameters but they differ in 
type and alignment.
Fortunately, it does not care about the type.
Unfortunately, CloneFunctionInto() copies the attributes from the old 
function to the new one unconditionally, overwriting the alignment 
attribute.
Also, the Attribute interface does not allow me to change the alignment 
of a parameter afterwards ("Attempt to change alignment!" assertion). 
Removing the attribute and setting it again is also not allowed.

Note that I don't want to exclude the arguments from cloning (not adding 
them to the ValueMap) since the main point of using CloneFunctionInto() 
is that I don't have to manually rewire them.

I think it is generally not a good idea to just blindly copy and 
overwrite all attributes (including function attributes) since it might 
more often be the case that CloneFunctionInto() is used exactly to copy 
some code into a different signature.
&lt;/pre&gt;</description>
    <dc:creator>Ralf Karrenberg</dc:creator>
    <dc:date>2012-05-15T16:18:43</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49876">
    <title>ATTN: PTX Back-End Users - EOL</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49876</link>
    <description>&lt;pre&gt;Now that the NVPTX back-end has been integrated into ToT and already
surpasses the PTX back-end in terms of functionality, I plan to remove the
PTX back-end from the LLVM tree soon.  The only change that users will need
to be aware of are the address space mapping (please see
lib/Target/NVPTX/NVPTX.h for the new mappings).  The old intrinsics will
remain valid for the new NVPTX back-end.

What I would like to know is if anyone is against removing this back-end.
 The sources will still be available in LLVM history, including the LLVM
3.1 release, but going forward I plan to only maintain the NVPTX sources.

If I do not hear any objections by the end of the week, I will probably
remove it this week-end.

&lt;/pre&gt;</description>
    <dc:creator>Justin Holewinski</dc:creator>
    <dc:date>2012-05-15T14:11:44</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49875">
    <title>Re: NVPTX: why ret instruction is not translated to exit in kernel function?</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49875</link>
    <description>&lt;pre&gt;
Either way is valid.  From the PTX spec:

    A return instruction executed in a top-level entry routine will terminate thread execution.


-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
&lt;/pre&gt;</description>
    <dc:creator>Justin Holewinski</dc:creator>
    <dc:date>2012-05-15T14:02:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49873">
    <title>Re: llvm-config Regression fix (Bug 11886)</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49873</link>
    <description>&lt;pre&gt;Ok, I attached it to the bug. For reference, here's what I'm using on unix
as a workaround as long as this is not fixed:
llvm-config --libfiles | xargs -n 1 -I {} sh -c 'test -f {} &amp;amp;&amp;amp; echo {}'

On Tue, May 15, 2012 at 1:07 AM, Albert Graef &amp;lt;Dr.Graef&amp;lt; at &amp;gt;t-online.de&amp;gt; wrote:

_______________________________________________
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>Keno Fischer</dc:creator>
    <dc:date>2012-05-15T12:38:16</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49872">
    <title>LLVM Rc3 sources?</title>
    <link>http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/49872</link>
    <description>&lt;pre&gt;Hello,

Trying to build llvm &amp;amp; clang 3.1 rc3 from official tarballs, I noticed 
that rc1 provides llvm-3.1rc1.tar.gz which is not provided for the rc3.
I am looking here:
http://llvm.org/pre-releases/3.1/

Any special reasons for that ?

Thanks,
Sylvestre
&lt;/pre&gt;</description>
    <dc:creator>Sylvestre Ledru</dc:creator>
    <dc:date>2012-05-15T10:14:50</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>

