OSDN Git Service

Add comment
authorAnton Korobeynikov <asl@math.spbu.ru>
Tue, 17 Apr 2007 19:34:00 +0000 (19:34 +0000)
committerAnton Korobeynikov <asl@math.spbu.ru>
Tue, 17 Apr 2007 19:34:00 +0000 (19:34 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36213 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index c6bdc2e..747a15b 100644 (file)
@@ -3406,8 +3406,17 @@ SDOperand X86TargetLowering::LowerCALL(SDOperand Op, SelectionDAG &DAG) {
     }
 }
 
+
+// Lower dynamic stack allocation to _alloca call for Cygwin/Mingw targets.
+// Calls to _alloca is needed to probe the stack when allocating more than 4k
+// bytes in one go. Touching the stack at 4K increments is necessary to ensure
+// that the guard pages used by the OS virtual memory manager are allocated in
+// correct sequence.
 SDOperand X86TargetLowering::LowerDYNAMIC_STACKALLOC(SDOperand Op,
                                                      SelectionDAG &DAG) {
+  assert(Subtarget->isTargetCygMing() &&
+         "This should be used only on Cygwin/Mingw targets");
+  
   // Get the inputs.
   SDOperand Chain = Op.getOperand(0);
   SDOperand Size  = Op.getOperand(1);