'<tt>llvm.annotation.*</tt>' Intrinsic</a></li>
<li><a href="#int_trap">
'<tt>llvm.trap</tt>' Intrinsic</a></li>
- <li><a href="#int_debugger">
- '<tt>llvm.debugger</tt>' Intrinsic</a></li>
+ <li><a href="#int_debugtrap">
+ '<tt>llvm.debugtrap</tt>' Intrinsic</a></li>
<li><a href="#int_stackprotector">
'<tt>llvm.stackprotector</tt>' Intrinsic</a></li>
<li><a href="#int_objectsize">
<!-- _______________________________________________________________________ -->
<h4>
- <a name="int_debugger">'<tt>llvm.debugger</tt>' Intrinsic</a>
+ <a name="int_debugtrap">'<tt>llvm.debugtrap</tt>' Intrinsic</a>
</h4>
<div>
<h5>Syntax:</h5>
<pre>
- declare void @llvm.debugger()
+ declare void @llvm.debugtrap()
</pre>
<h5>Overview:</h5>
-<p>The '<tt>llvm.debugger</tt>' intrinsic.</p>
+<p>The '<tt>llvm.debugtrap</tt>' intrinsic.</p>
<h5>Arguments:</h5>
<p>None.</p>
// TRAP - Trapping instruction
TRAP,
- // DEBUGGER - Trap intented to get the attention of a debugger.
- DEBUGGER,
+ // DEBUGTRAP - Trap intented to get the attention of a debugger.
+ DEBUGTRAP,
// PREFETCH - This corresponds to a prefetch intrinsic. It takes chains are
// their first operand. The other operands are the address to prefetch,
GCCBuiltin<"__builtin_flt_rounds">;
def int_trap : Intrinsic<[]>,
GCCBuiltin<"__builtin_trap">;
-def int_debugger : Intrinsic<[]>,
- GCCBuiltin<"__builtin_debugger">;
+def int_debugtrap : Intrinsic<[]>,
+ GCCBuiltin<"__builtin_debugtrap">;
// Intrisics to support half precision floating point format
let Properties = [IntrNoMem] in {
def br : SDNode<"ISD::BR" , SDTBr, [SDNPHasChain]>;
def trap : SDNode<"ISD::TRAP" , SDTNone,
[SDNPHasChain, SDNPSideEffect]>;
-def debugger : SDNode<"ISD::DEBUGGER" , SDTNone,
+def debugtrap : SDNode<"ISD::DEBUGTRAP" , SDTNone,
[SDNPHasChain, SDNPSideEffect]>;
def prefetch : SDNode<"ISD::PREFETCH" , SDTPrefetch,
DAG.setRoot(Result.second);
return 0;
}
- case Intrinsic::debugger: {
- DAG.setRoot(DAG.getNode(ISD::DEBUGGER, dl,MVT::Other, getRoot()));
+ case Intrinsic::debugtrap: {
+ DAG.setRoot(DAG.getNode(ISD::DEBUGTRAP, dl,MVT::Other, getRoot()));
return 0;
}
case Intrinsic::uadd_with_overflow:
case ISD::STACKSAVE: return "stacksave";
case ISD::STACKRESTORE: return "stackrestore";
case ISD::TRAP: return "trap";
- case ISD::DEBUGGER: return "debugger";
+ case ISD::DEBUGTRAP: return "debugtrap";
// Bit manipulation
case ISD::BSWAP: return "bswap";
def INT3 : I<0xcc, RawFrm, (outs), (ins), "int3",
[(int_x86_int (i8 3))], IIC_INT3>;
-def : Pat<(debugger),
+def : Pat<(debugtrap),
(INT3)>;
// The long form of "int $3" turns into int3 as a size optimization.
; CHECK: int3
define i32 @test1() noreturn nounwind {
entry:
- tail call void @llvm.debugger( )
+ tail call void @llvm.debugtrap( )
unreachable
}
declare void @llvm.trap() nounwind
-declare void @llvm.debugger() nounwind
+declare void @llvm.debugtrap() nounwind