[llvm] r176022 - Fix the root cause of PR15348 by correctly handling alignment 0 on

Lang Hames lhames at gmail.com
Wed Mar 27 23:52:31 PDT 2013


Hi Chandler, Dan,


> When alignment is zero, the lang ref says that *no* alignment
> assumptions can be made. This is the exact opposite of the internal API
> contracts of the DAG where alignment 0 indicates that the alignment can
> be made to be anything desired.
>

I had occasion to circle back to this recently, and I wanted to
double-check this part of the analysis. Is this actually an internal
contract, and expected behavior? Or do things just go haywire when we feed
in a zero alignment? On a local LLVM copy, I replaced your fix with an
assert on zero-alignment, and added similar asserts to
getMemcpyLoadsAndStores (and friends), but wasn't able to trigger them with
anything in the test suite.

If it's not an internal contract, but just the DAG going haywire on
Align==0, I'd like to keep your fix in place, and commit the asserts that
I've added to getMemcpyLoadsAndStores and friends.

Cheers,
Lang.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130327/0babbcf9/attachment.html>


More information about the llvm-commits mailing list