I applied the patch to the trunk version successfully, although I get an error in between: 1 out of 1 hunk FAILED -- saving rejects to file lib/Transforms/IPO/CMakeLists.txt.rej Can I ignore the error? The patch exits normally except for that error. Also, I tried to apply the patch to the LLVM 3.0 but does not work at all. Is the trunk version the only one where the patch can be applied? Thanks ahead, Pablo On 29/11/2011, at 16:38, Hal Finkel wrote:> On Tue, 2011-11-29 at 16:26 +0100, Pablo Barrio wrote: >> On 28/11/2011, at 18:52, Hal Finkel wrote: >> >>> On Mon, 2011-11-28 at 17:49 +0100, Pablo Barrio wrote: >>>> How can I install the patch? Any step-by-step guide? >>> >>> First, grab the trunk versions of llvm and clang. This is detailed on >>> http://clang.llvm.org/get_started.html >>> >>> Then you apply the patch. On a Unix-like system, this is something like: >>> cd llvm >>> patch -p1 < /path/to/the-patch-file.diff >>> >> >> I tried to apply the patch to llvm 2.9 (not the trunk) but it shows a lot of "... hunk FAILED -- saving rejects to file ...". Is it safe to ignore these errors? Is it impossible to apply this patch to LLVM 2.9? Do you have a version of the patch compatible with 2.9? >> > > Unfortunately, I don't have a version for 2.9. > > -Hal > >> Right now I cannot switch to the trunk version. >> >> Thanks in advance, >> Pablo >> >>> Then you rebuild. >>> >>> If you have any further questions, or need a more-detailed answer, >>> please let me know. >>> >>> -Hal >>> >>>> >>>> Thanks, >>>> Pablo >>>> >>>> On 24/11/2011, at 15:33, Hal Finkel wrote: >>>> >>>>> On Thu, 2011-11-24 at 15:09 +0100, Pablo Barrio López-Cortijo wrote: >>>>>> Hi everybody, >>>>>> >>>>>> I'm trying to run some examples with different backend options (turning >>>>>> on/off SSE, 3dnow, or MMX instructions). However, I don't see any >>>>>> difference in terms of execution time. Does anybody know which language >>>>>> constructs (in C/C++ preferably) should I try to make these instructions >>>>>> generated (and thus make a difference between a backend that enables >>>>>> them or not) ? >>>>>> >>>>>> I tried generating vector instructions with loops but it's not >>>>>> happening. Perhaps Polly can generate vector instructions? >>>>> >>>>> You can also try my basic-block autovectorization patch. >>>>> >>>>> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20111121/132206.html >>>>> >>>>> After applying the patch (I recommend applying it to the current trunk), >>>>> then run clang with the flags: >>>>> -mllvm -vectorize -mllvm -unroll-allow-partial >>>>> (the -unroll-allow-partial is not necessary for the vectorization, but >>>>> tends to expose additional vectorization opportunities). The basic-block >>>>> vectorizer has a number of flags that can be used to customize its >>>>> behavior, so if it is not vectorizing something that you think it should >>>>> be (or is doing something performance detrimental), please let me know >>>>> and I'll be happy to help. >>>>> >>>>> -Hal >>>>> >>>>>> >>>>>> Thanks ahead, >>>>>> >>>>>> Pablo >>>>>> DIE-UPM >>>>>> Madrid >>>>>> >>>>>> _______________________________________________ >>>>>> LLVM Developers mailing list >>>>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >>>>> >>>>> -- >>>>> Hal Finkel >>>>> Postdoctoral Appointee >>>>> Leadership Computing Facility >>>>> Argonne National Laboratory >>>>> >>>> >>> >>> -- >>> Hal Finkel >>> Postdoctoral Appointee >>> Leadership Computing Facility >>> Argonne National Laboratory >>> >> > > -- > Hal Finkel > Postdoctoral Appointee > Leadership Computing Facility > Argonne National Laboratory >
On Fri, 2011-12-02 at 19:08 +0100, Pablo Barrio wrote:> I applied the patch to the trunk version successfully, although I get an error in between: > > 1 out of 1 hunk FAILED -- saving rejects to file lib/Transforms/IPO/CMakeLists.txt.rej > > Can I ignore the error? The patch exits normally except for that error.If you're using the default unix configure script and makefiles, then you can ignore this error. Regardless, I'll rebase the patch and post an updated version. -Hal> > Also, I tried to apply the patch to the LLVM 3.0 but does not work at all. Is the trunk version the only one where the patch can be applied? > > Thanks ahead, > Pablo > > On 29/11/2011, at 16:38, Hal Finkel wrote: > > > On Tue, 2011-11-29 at 16:26 +0100, Pablo Barrio wrote: > >> On 28/11/2011, at 18:52, Hal Finkel wrote: > >> > >>> On Mon, 2011-11-28 at 17:49 +0100, Pablo Barrio wrote: > >>>> How can I install the patch? Any step-by-step guide? > >>> > >>> First, grab the trunk versions of llvm and clang. This is detailed on > >>> http://clang.llvm.org/get_started.html > >>> > >>> Then you apply the patch. On a Unix-like system, this is something like: > >>> cd llvm > >>> patch -p1 < /path/to/the-patch-file.diff > >>> > >> > >> I tried to apply the patch to llvm 2.9 (not the trunk) but it shows a lot of "... hunk FAILED -- saving rejects to file ...". Is it safe to ignore these errors? Is it impossible to apply this patch to LLVM 2.9? Do you have a version of the patch compatible with 2.9? > >> > > > > Unfortunately, I don't have a version for 2.9. > > > > -Hal > > > >> Right now I cannot switch to the trunk version. > >> > >> Thanks in advance, > >> Pablo > >> > >>> Then you rebuild. > >>> > >>> If you have any further questions, or need a more-detailed answer, > >>> please let me know. > >>> > >>> -Hal > >>> > >>>> > >>>> Thanks, > >>>> Pablo > >>>> > >>>> On 24/11/2011, at 15:33, Hal Finkel wrote: > >>>> > >>>>> On Thu, 2011-11-24 at 15:09 +0100, Pablo Barrio López-Cortijo wrote: > >>>>>> Hi everybody, > >>>>>> > >>>>>> I'm trying to run some examples with different backend options (turning > >>>>>> on/off SSE, 3dnow, or MMX instructions). However, I don't see any > >>>>>> difference in terms of execution time. Does anybody know which language > >>>>>> constructs (in C/C++ preferably) should I try to make these instructions > >>>>>> generated (and thus make a difference between a backend that enables > >>>>>> them or not) ? > >>>>>> > >>>>>> I tried generating vector instructions with loops but it's not > >>>>>> happening. Perhaps Polly can generate vector instructions? > >>>>> > >>>>> You can also try my basic-block autovectorization patch. > >>>>> > >>>>> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20111121/132206.html > >>>>> > >>>>> After applying the patch (I recommend applying it to the current trunk), > >>>>> then run clang with the flags: > >>>>> -mllvm -vectorize -mllvm -unroll-allow-partial > >>>>> (the -unroll-allow-partial is not necessary for the vectorization, but > >>>>> tends to expose additional vectorization opportunities). The basic-block > >>>>> vectorizer has a number of flags that can be used to customize its > >>>>> behavior, so if it is not vectorizing something that you think it should > >>>>> be (or is doing something performance detrimental), please let me know > >>>>> and I'll be happy to help. > >>>>> > >>>>> -Hal > >>>>> > >>>>>> > >>>>>> Thanks ahead, > >>>>>> > >>>>>> Pablo > >>>>>> DIE-UPM > >>>>>> Madrid > >>>>>> > >>>>>> _______________________________________________ > >>>>>> LLVM Developers mailing list > >>>>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > >>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >>>>> > >>>>> -- > >>>>> Hal Finkel > >>>>> Postdoctoral Appointee > >>>>> Leadership Computing Facility > >>>>> Argonne National Laboratory > >>>>> > >>>> > >>> > >>> -- > >>> Hal Finkel > >>> Postdoctoral Appointee > >>> Leadership Computing Facility > >>> Argonne National Laboratory > >>> > >> > > > > -- > > Hal Finkel > > Postdoctoral Appointee > > Leadership Computing Facility > > Argonne National Laboratory > > >-- Hal Finkel Postdoctoral Appointee Leadership Computing Facility Argonne National Laboratory
On Fri, 2011-12-02 at 19:08 +0100, Pablo Barrio wrote:> I applied the patch to the trunk version successfully, although I get an error in between: > > 1 out of 1 hunk FAILED -- saving rejects to file lib/Transforms/IPO/CMakeLists.txt.rej > > Can I ignore the error? The patch exits normally except for that error.The attached patch should apply cleanly. Thanks for the feedback, Hal> > Also, I tried to apply the patch to the LLVM 3.0 but does not work at all. Is the trunk version the only one where the patch can be applied? > > Thanks ahead, > Pablo > > On 29/11/2011, at 16:38, Hal Finkel wrote: > > > On Tue, 2011-11-29 at 16:26 +0100, Pablo Barrio wrote: > >> On 28/11/2011, at 18:52, Hal Finkel wrote: > >> > >>> On Mon, 2011-11-28 at 17:49 +0100, Pablo Barrio wrote: > >>>> How can I install the patch? Any step-by-step guide? > >>> > >>> First, grab the trunk versions of llvm and clang. This is detailed on > >>> http://clang.llvm.org/get_started.html > >>> > >>> Then you apply the patch. On a Unix-like system, this is something like: > >>> cd llvm > >>> patch -p1 < /path/to/the-patch-file.diff > >>> > >> > >> I tried to apply the patch to llvm 2.9 (not the trunk) but it shows a lot of "... hunk FAILED -- saving rejects to file ...". Is it safe to ignore these errors? Is it impossible to apply this patch to LLVM 2.9? Do you have a version of the patch compatible with 2.9? > >> > > > > Unfortunately, I don't have a version for 2.9. > > > > -Hal > > > >> Right now I cannot switch to the trunk version. > >> > >> Thanks in advance, > >> Pablo > >> > >>> Then you rebuild. > >>> > >>> If you have any further questions, or need a more-detailed answer, > >>> please let me know. > >>> > >>> -Hal > >>> > >>>> > >>>> Thanks, > >>>> Pablo > >>>> > >>>> On 24/11/2011, at 15:33, Hal Finkel wrote: > >>>> > >>>>> On Thu, 2011-11-24 at 15:09 +0100, Pablo Barrio López-Cortijo wrote: > >>>>>> Hi everybody, > >>>>>> > >>>>>> I'm trying to run some examples with different backend options (turning > >>>>>> on/off SSE, 3dnow, or MMX instructions). However, I don't see any > >>>>>> difference in terms of execution time. Does anybody know which language > >>>>>> constructs (in C/C++ preferably) should I try to make these instructions > >>>>>> generated (and thus make a difference between a backend that enables > >>>>>> them or not) ? > >>>>>> > >>>>>> I tried generating vector instructions with loops but it's not > >>>>>> happening. Perhaps Polly can generate vector instructions? > >>>>> > >>>>> You can also try my basic-block autovectorization patch. > >>>>> > >>>>> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20111121/132206.html > >>>>> > >>>>> After applying the patch (I recommend applying it to the current trunk), > >>>>> then run clang with the flags: > >>>>> -mllvm -vectorize -mllvm -unroll-allow-partial > >>>>> (the -unroll-allow-partial is not necessary for the vectorization, but > >>>>> tends to expose additional vectorization opportunities). The basic-block > >>>>> vectorizer has a number of flags that can be used to customize its > >>>>> behavior, so if it is not vectorizing something that you think it should > >>>>> be (or is doing something performance detrimental), please let me know > >>>>> and I'll be happy to help. > >>>>> > >>>>> -Hal > >>>>> > >>>>>> > >>>>>> Thanks ahead, > >>>>>> > >>>>>> Pablo > >>>>>> DIE-UPM > >>>>>> Madrid > >>>>>> > >>>>>> _______________________________________________ > >>>>>> LLVM Developers mailing list > >>>>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > >>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >>>>> > >>>>> -- > >>>>> Hal Finkel > >>>>> Postdoctoral Appointee > >>>>> Leadership Computing Facility > >>>>> Argonne National Laboratory > >>>>> > >>>> > >>> > >>> -- > >>> Hal Finkel > >>> Postdoctoral Appointee > >>> Leadership Computing Facility > >>> Argonne National Laboratory > >>> > >> > > > > -- > > Hal Finkel > > Postdoctoral Appointee > > Leadership Computing Facility > > Argonne National Laboratory > > >-- Hal Finkel Postdoctoral Appointee Leadership Computing Facility Argonne National Laboratory -------------- next part -------------- A non-text attachment was scrubbed... Name: llvm_bb_vectorize-20111202.diff Type: text/x-patch Size: 98583 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111202/8647a76e/attachment.bin>
Hi Hal, On 02/12/11 21:06, Hal Finkel wrote:> On Fri, 2011-12-02 at 19:08 +0100, Pablo Barrio wrote: >> I applied the patch to the trunk version successfully, although I get an error in between: >> >> 1 out of 1 hunk FAILED -- saving rejects to file lib/Transforms/IPO/CMakeLists.txt.rej >> >> Can I ignore the error? The patch exits normally except for that error. > The attached patch should apply cleanly. > > Thanks for the feedback, > HalI'm still getting the following error: --- 1 out of 3 hunks FAILED -- saving rejects to file lib/Transforms/IPO/PassManagerBuilder.cpp.rej --- I'm using LLVM rev. 146369 (current trunk). Is it the same as you? If not, tell me your revision and I'll try again. Suggestion: would it be possible to have a patch for the stable version (LLVM 3.0)? Thanks ahead, Pablo>> Also, I tried to apply the patch to the LLVM 3.0 but does not work at all. Is the trunk version the only one where the patch can be applied? >> >> Thanks ahead, >> Pablo >> >> On 29/11/2011, at 16:38, Hal Finkel wrote: >> >>> On Tue, 2011-11-29 at 16:26 +0100, Pablo Barrio wrote: >>>> On 28/11/2011, at 18:52, Hal Finkel wrote: >>>> >>>>> On Mon, 2011-11-28 at 17:49 +0100, Pablo Barrio wrote: >>>>>> How can I install the patch? Any step-by-step guide? >>>>> First, grab the trunk versions of llvm and clang. This is detailed on >>>>> http://clang.llvm.org/get_started.html >>>>> >>>>> Then you apply the patch. On a Unix-like system, this is something like: >>>>> cd llvm >>>>> patch -p1< /path/to/the-patch-file.diff >>>>> >>>> I tried to apply the patch to llvm 2.9 (not the trunk) but it shows a lot of "... hunk FAILED -- saving rejects to file ...". Is it safe to ignore these errors? Is it impossible to apply this patch to LLVM 2.9? Do you have a version of the patch compatible with 2.9? >>>> >>> Unfortunately, I don't have a version for 2.9. >>> >>> -Hal >>> >>>> Right now I cannot switch to the trunk version. >>>> >>>> Thanks in advance, >>>> Pablo >>>> >>>>> Then you rebuild. >>>>> >>>>> If you have any further questions, or need a more-detailed answer, >>>>> please let me know. >>>>> >>>>> -Hal >>>>> >>>>>> Thanks, >>>>>> Pablo >>>>>> >>>>>> On 24/11/2011, at 15:33, Hal Finkel wrote: >>>>>> >>>>>>> On Thu, 2011-11-24 at 15:09 +0100, Pablo Barrio López-Cortijo wrote: >>>>>>>> Hi everybody, >>>>>>>> >>>>>>>> I'm trying to run some examples with different backend options (turning >>>>>>>> on/off SSE, 3dnow, or MMX instructions). However, I don't see any >>>>>>>> difference in terms of execution time. Does anybody know which language >>>>>>>> constructs (in C/C++ preferably) should I try to make these instructions >>>>>>>> generated (and thus make a difference between a backend that enables >>>>>>>> them or not) ? >>>>>>>> >>>>>>>> I tried generating vector instructions with loops but it's not >>>>>>>> happening. Perhaps Polly can generate vector instructions? >>>>>>> You can also try my basic-block autovectorization patch. >>>>>>> >>>>>>> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20111121/132206.html >>>>>>> >>>>>>> After applying the patch (I recommend applying it to the current trunk), >>>>>>> then run clang with the flags: >>>>>>> -mllvm -vectorize -mllvm -unroll-allow-partial >>>>>>> (the -unroll-allow-partial is not necessary for the vectorization, but >>>>>>> tends to expose additional vectorization opportunities). The basic-block >>>>>>> vectorizer has a number of flags that can be used to customize its >>>>>>> behavior, so if it is not vectorizing something that you think it should >>>>>>> be (or is doing something performance detrimental), please let me know >>>>>>> and I'll be happy to help. >>>>>>> >>>>>>> -Hal >>>>>>> >>>>>>>> Thanks ahead, >>>>>>>> >>>>>>>> Pablo >>>>>>>> DIE-UPM >>>>>>>> Madrid >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> LLVM Developers mailing list >>>>>>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >>>>>>> -- >>>>>>> Hal Finkel >>>>>>> Postdoctoral Appointee >>>>>>> Leadership Computing Facility >>>>>>> Argonne National Laboratory >>>>>>> >>>>> -- >>>>> Hal Finkel >>>>> Postdoctoral Appointee >>>>> Leadership Computing Facility >>>>> Argonne National Laboratory >>>>> >>> -- >>> Hal Finkel >>> Postdoctoral Appointee >>> Leadership Computing Facility >>> Argonne National Laboratory >>>-- Pablo Barrio Dpt. Electrical Engineering - Technical University of Madrid Despacho C-203 Avda. Complutense s/n, 28040 Madrid (+34) 915495700 ext. 4234 @: pbarrio at die.upm.es