svn commit: r297294 - head/contrib/llvm/lib/Target/X86

Dimitry Andric dim at FreeBSD.org
Sat Mar 26 17:38:16 UTC 2016


Author: dim
Date: Sat Mar 26 17:38:15 2016
New Revision: 297294
URL: https://svnweb.freebsd.org/changeset/base/297294

Log:
  Pull in r264465 from upstream llvm trunk (by David Majnemer):
  
    [X86] Emit a proper ADJCALLSTACKDOWN in EmitLoweredTLSAddr
  
    We forgot to add the second machine operand to our ADJCALLSTACKDOWN,
    resulting in crashes in PEI.
  
    This fixes PR27071.
  
  This should fix an assertion failure during buildworld, when using -Os,
  and targeting either i386 directly, or building the 32-bit libraries on
  amd64.
  
  Reported by:	Eric Camachat <eric.camachat at gmail.com>

Modified:
  head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp

Modified: head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
==============================================================================
--- head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp	Sat Mar 26 15:39:48 2016	(r297293)
+++ head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp	Sat Mar 26 17:38:15 2016	(r297294)
@@ -22242,7 +22242,7 @@ X86TargetLowering::EmitLoweredTLSAddr(Ma
   // Emit CALLSEQ_START right before the instruction.
   unsigned AdjStackDown = TII.getCallFrameSetupOpcode();
   MachineInstrBuilder CallseqStart =
-    BuildMI(MF, DL, TII.get(AdjStackDown)).addImm(0);
+    BuildMI(MF, DL, TII.get(AdjStackDown)).addImm(0).addImm(0);
   BB->insert(MachineBasicBlock::iterator(MI), CallseqStart);
 
   // Emit CALLSEQ_END right after the instruction.


More information about the svn-src-head mailing list