[PATCH] D31946: [legalize-types] Clean up softening machinery.

Anton Yartsev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 28 18:40:50 PDT 2017


ayartsev updated this revision to Diff 104555.
ayartsev added a comment.

Updated the patch, changed the title.

> Please take a look of my patches
>  https://reviews.llvm.org/D15134
>  https://reviews.llvm.org/D11438
>  and their review history.

I looked through your patches and review history, great job! I'm feeling on the right way.

> I copy only 3 instruction selection fatal errors like:

Failing to reproduce either of them, in my case the compilation succeed and I'm getting DAGs different from shown in error dumps. I've used command line args from 'c.sh' from your attach 'c.zip' above and preprocessed 'e_hypotl-9d5113.c' from your attach 'x.zip' (other two sources 'hdtoa.c' and 's_cbrtl.c' I've prepared myself based on the 'e_hypotl-9d5113.c').

What confuses me is that all this sources fail on the "f128 = srl 0x......., Constant:i8<64>" instruction, that takes and returns 'f128' type, but I've failed to invent a test to make codegen emit 'srl' instruction with float argument/return value. Neither test in LLVM codebase has such an example. Neither my output DAGs for failing tests had this float 'srl'. Maybe you know, how to make codegen emit f128' srl? Or could you, please, test the new patch one more time and, if problems persist, send me the script with Clang command line for the failing source and the preprocessed source itself?
Sorry for the long delay and thank you for looking at this.


https://reviews.llvm.org/D31946

Files:
  lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
  lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
  lib/CodeGen/SelectionDAG/LegalizeTypes.h
  lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
  test/CodeGen/X86/soft-fp-legal-in-HW-reg.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31946.104555.patch
Type: text/x-patch
Size: 13014 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170629/a88a41c0/attachment.bin>


More information about the llvm-commits mailing list