Skip to content
  1. Feb 16, 2017
    • Tim Northover's avatar
      GlobalISel: legalize va_arg on AArch64. · 9136617a
      Tim Northover authored
      Uses a Custom implementation because the slot sizes being a multiple of the
      pointer size isn't really universal, even for the architectures that do have a
      simple "void *" va_list.
      
      llvm-svn: 295255
      9136617a
    • Tim Northover's avatar
      GlobalISel: support translating va_arg · 4a652227
      Tim Northover authored
      Since (say) i128 and [16 x i8] map to the same type in generic MIR, we also
      need to attach the required alignment info.
      
      llvm-svn: 295254
      4a652227
    • Daniel Berlin's avatar
      Implement intrinsic mangling for literal struct types. · 3c1432fe
      Daniel Berlin authored
      Fixes PR 31921
      
      Summary:
      Predicateinfo requires an ugly workaround to try to avoid literal
      struct types due to the intrinsic mangling not being implemented.
      This workaround actually does not work in all cases (you can hit the
      assert by bootstrapping with -print-predicateinfo), and can't be made
      to work without DFS'ing the type (IE copying getMangledStr and using a
      version that detects if it would crash).
      
      Rather than do that, i just implemented the mangling.  It seems
      simple, since they are unified structurally.
      
      Looking at the overloaded-mangling testcase we have, it actually turns
      out the gc intrinsics will *also* crash if you try to use a literal
      struct.  Thus, the testcase added fails before this patch, and works
      after, without needing to resort to predicateinfo.
      
      Reviewers: chandlerc, davide
      
      Subscribers: llvm-commits, sanjoy
      
      Differential Revision: https://reviews.llvm.org/D29925
      
      llvm-svn: 295253
      3c1432fe
  2. Feb 15, 2017
Loading