[LLVMdev] Turning on/off instruction extensions

Pablo Barrio pbarrio at die.upm.es
Mon Dec 12 03:59:51 PST 2011


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,
> Hal

I'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




More information about the llvm-dev mailing list