[PATCH] D49753: [windows] Don't inline fieldFromInstruction on Windows

Stella Stamenova via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 24 15:14:44 PDT 2018


stella.stamenova updated this revision to Diff 157140.
stella.stamenova added a comment.

Follow Zachary's advise and do not force no inline in the case of clang.


Repository:
  rL LLVM

https://reviews.llvm.org/D49753

Files:
  utils/TableGen/FixedLenDecoderEmitter.cpp


Index: utils/TableGen/FixedLenDecoderEmitter.cpp
===================================================================
--- utils/TableGen/FixedLenDecoderEmitter.cpp
+++ utils/TableGen/FixedLenDecoderEmitter.cpp
@@ -2066,7 +2066,10 @@
 static void emitFieldFromInstruction(formatted_raw_ostream &OS) {
   OS << "// Helper function for extracting fields from encoded instructions.\n"
      << "template<typename InsnType>\n"
-   << "static InsnType fieldFromInstruction(InsnType insn, unsigned startBit,\n"
+     << "#if defined(_MSC_VER) && !defined(__clang__)\n"
+     << "__declspec(noinline)\n"
+     << "#endif\n"
+     << "static InsnType fieldFromInstruction(InsnType insn, unsigned startBit,\n"
      << "                                     unsigned numBits) {\n"
      << "    assert(startBit + numBits <= (sizeof(InsnType)*8) &&\n"
      << "           \"Instruction field out of bounds!\");\n"


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49753.157140.patch
Type: text/x-patch
Size: 902 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180724/f15af513/attachment-0001.bin>


More information about the llvm-commits mailing list