rsmith added inline comments.
================ Comment at: lib/Basic/TargetInfo.cpp:45 + AccumWidth = AccumAlign = 32; + LongAccumWidth = LongAccumAlign = 64; SuitableAlign = 64; ---------------- leonardchan wrote: > leonardchan wrote: > > ebevhan wrote: > > > leonardchan wrote: > > > > rsmith wrote: > > > > > jfb wrote: > > > > > > This seems weird because Targets which don't have these values for > > > > > > the non-Accum versions will have .e.g. `sizeof(short) != > > > > > > sizeof(short _Accum)`. Is there a point in ever having `_Accum` > > > > > > differ in size, width, and alignment from the underlying type? If > > > > > > not, can you set these values after the sub-target has specified > > > > > > its preferences? > > > > > I'm uncomfortable about opting all targets into this behavior with > > > > > these default values; this will result in an ABI break if later a > > > > > target updates these to the correct values. A per-target > > > > > `AccumSupported` flag would help substantially. But this is OK for > > > > > the short term while you're still working on the feature. > > > > > > > > > > We'll also need the target to inform us of the number of integer and > > > > > fractional bits for each such type. > > > > The integral and fractional bits will be set in the target and is > > > > available in a later patch. > > > > We'll also need the target to inform us of the number of integer and > > > > fractional bits for each such type. > > > > > > I believe the only one that is needed is for the number of fractional > > > bits; the number of integer bits is implied by the difference between the > > > type width and fractional bits. I think I mention this in one of the > > > other patches. > > > > > > > > You're right. I was stuck in the mindset that we would be providing an > > integral and fractional value. > > The integral and fractional bits will be set in the target and is available > > in a later patch. > > I mean just the fractional bits since the integral will just be the bit width > minus fractional. You're assuming that all bits will be either integral or fractional bits (and in particular that there are no padding bits). I don't know if that's actually going to be true for all target ABIs, but I suppose it's OK to make this assumption until it's proven wrong by some actual target. Repository: rC Clang https://reviews.llvm.org/D46084 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits