[llvm-dev] Disable combining of loads and stores in instcombine

Tom Stellard via llvm-dev llvm-dev at lists.llvm.org
Wed Apr 17 05:00:00 PDT 2019


On 04/16/2019 09:11 PM, Neil Ryan wrote:
> I’m writing a pass for some custom hardware — we’d like to split arrays across hardware elements; this doesn’t work if consecutive writes to characters get combined to a word.

Do you have an LLVM IR example where this happens when you don't want
it to?

-Tom

> On Apr 16, 2019, 8:17 PM -0700, Tom Stellard <tstellar at redhat.com>, wrote:
>> On 04/16/2019 11:38 AM, Neil Ryan via llvm-dev wrote:
>>> LLVM's optimizer combines stores to consecutive characters into a write of a single word. For instance, if I have char A[4] and I write some static value to each element, these writes would be combined into a single 32-bit word write. I found this thread <http://llvm.1065342.n5.nabble.com/disabling-combining-load-stores-in-optimizer-td37560.html> from 2009 -- it seems like it wasn't possible then. Has anything changed since?
>>>
>>
>> Why do you want to disable this optimization?
>>
>> -Tom
>>
>>
>>> Neil
>>>
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> llvm-dev at lists.llvm.org
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>
>>



More information about the llvm-dev mailing list