efriedma added inline comments.

================
Comment at: lib/Basic/TargetInfo.cpp:229
   switch (BitWidth) {
-  case 96:
+  case 80:
     if (&getLongDoubleFormat() == &llvm::APFloat::x87DoubleExtended)
----------------
ddcc wrote:
> bruno wrote:
> > The change makes sense but I believe there's some historical reason why 
> > this is 96 instead of 80? What problem have you found in practice? Do you 
> > have a testcase or unittest that exercise the issue (and that could be 
> > added to the patch)?
> I'd be curious why it was historically set to 96; I dug up rL190044 as the 
> original commit, but it doesn't mention 80 vs 96 for this at all.
> 
> I've been implementing an alternative symbolic constraint solver backend for 
> the static analyzer, including floating-point support, which performs some 
> type conversion and needs to reason about bitwidth. I'm still working on 
> those patches, since they touch a lot of code and currently break some tests. 
> I can write up a testcase for this issue, though I've only written IR 
> testcases before and I'm not sure how I'd directly call a clang internal 
> function?
It was set to 96 because that's what the only caller (handleModeAttr) expects; 
see https://reviews.llvm.org/rL65935 and https://reviews.llvm.org/rL190926.  
It's arbitrary as far as I know.


https://reviews.llvm.org/D26955



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to