[llvm-commits] [llvm] r171122 - /llvm/trunk/lib/Target/X86/X86InstrCompiler.td

Chandler Carruth chandlerc at google.com
Wed Dec 26 15:25:08 PST 2012


On Wed, Dec 26, 2012 at 3:22 PM, Craig Topper <craig.topper at gmail.com>wrote:

> A lot of the ones I'm fixing right now probably don't have any real
> functional impact. This particular case is on an instruction with a custom
> inserter so none of the Machine passes even see this instruction. But with
> it defaulting to having it side effect, it makes looking through the output
> to find possibly real broken instructions noisy.


Ahh, that makes some sense. Thanks for the explanation. (Your other commit
messages also started to clue me in that most of these aren't "real"
instructions, or were blindingly wrong.)


>
>
> On Wed, Dec 26, 2012 at 3:19 PM, Chandler Carruth <chandlerc at google.com>wrote:
>
>> On Wed, Dec 26, 2012 at 3:08 PM, Craig Topper <craig.topper at gmail.com>wrote:
>>
>>> Author: ctopper
>>> Date: Wed Dec 26 17:08:12 2012
>>> New Revision: 171122
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=171122&view=rev
>>> Log:
>>> Add hasSideEffects=0 to some atomic instructions.
>>>
>>
>> Is there a test case or something else that can go here? Not sure what
>> the practical impact of this is in the backend... (I'm assume it is
>> substantially different than in the middle end...)
>>
>>
>>>
>>> Modified:
>>>     llvm/trunk/lib/Target/X86/X86InstrCompiler.td
>>>
>>> Modified: llvm/trunk/lib/Target/X86/X86InstrCompiler.td
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrCompiler.td?rev=171122&r1=171121&r2=171122&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/lib/Target/X86/X86InstrCompiler.td (original)
>>> +++ llvm/trunk/lib/Target/X86/X86InstrCompiler.td Wed Dec 26 17:08:12
>>> 2012
>>> @@ -559,7 +559,7 @@
>>>  defm : PSEUDO_ATOMIC_LOAD_BINOP_PATS<"ATOMUMIN", "atomic_load_umin">;
>>>
>>>  multiclass PSEUDO_ATOMIC_LOAD_BINOP6432<string mnemonic> {
>>> -  let usesCustomInserter = 1, mayLoad = 1, mayStore = 1 in
>>> +  let usesCustomInserter = 1, mayLoad = 1, mayStore = 1, hasSideEffects
>>> = 0 in
>>>      def #NAME#6432 : I<0, Pseudo, (outs GR32:$dst1, GR32:$dst2),
>>>                         (ins i64mem:$ptr, GR32:$val1, GR32:$val2),
>>>                         !strconcat(mnemonic, "6432 PSEUDO!"), []>;
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>
>>
>>
>
>
> --
> ~Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20121226/3d8d2836/attachment.html>


More information about the llvm-commits mailing list