[llvm-commits] [dragonegg] r138801 - in /dragonegg/trunk: include/dragonegg/Internals.h src/Convert.cpp
Duncan Sands
baldrick at free.fr
Tue Aug 30 02:20:45 PDT 2011
Author: baldrick
Date: Tue Aug 30 04:20:45 2011
New Revision: 138801
URL: http://llvm.org/viewvc/llvm-project?rev=138801&view=rev
Log:
Add support for builtin_unreachable. Put some builtins in
alphabetical order while there.
Modified:
dragonegg/trunk/include/dragonegg/Internals.h
dragonegg/trunk/src/Convert.cpp
Modified: dragonegg/trunk/include/dragonegg/Internals.h
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/include/dragonegg/Internals.h?rev=138801&r1=138800&r2=138801&view=diff
==============================================================================
--- dragonegg/trunk/include/dragonegg/Internals.h (original)
+++ dragonegg/trunk/include/dragonegg/Internals.h Tue Aug 30 04:20:45 2011
@@ -623,25 +623,29 @@
Value *EmitBuiltinLFLOOR(gimple_statement_d *stmt);
Value *EmitBuiltinCEXPI(gimple_statement_d *stmt);
- bool EmitBuiltinConstantP(gimple_statement_d *stmt, Value *&Result);
+ bool EmitBuiltinAdjustTrampoline(gimple_statement_d *stmt, Value *&Result);
bool EmitBuiltinAlloca(gimple_statement_d *stmt, Value *&Result);
+ bool EmitBuiltinBZero(gimple_statement_d *stmt, Value *&Result);
+ bool EmitBuiltinConstantP(gimple_statement_d *stmt, Value *&Result);
bool EmitBuiltinExpect(gimple_statement_d *stmt, Value *&Result);
bool EmitBuiltinExtendPointer(gimple_statement_d *stmt, Value *&Result);
- bool EmitBuiltinVAStart(gimple_statement_d *stmt);
- bool EmitBuiltinVAEnd(gimple_statement_d *stmt);
- bool EmitBuiltinVACopy(gimple_statement_d *stmt);
+ bool EmitBuiltinExtractReturnAddr(gimple_statement_d *stmt, Value *&Result);
+ bool EmitBuiltinFrobReturnAddr(gimple_statement_d *stmt, Value *&Result);
+ bool EmitBuiltinInitTrampoline(gimple_statement_d *stmt, Value *&Result);
bool EmitBuiltinMemCopy(gimple_statement_d *stmt, Value *&Result,
bool isMemMove, bool SizeCheck);
bool EmitBuiltinMemSet(gimple_statement_d *stmt, Value *&Result,
bool SizeCheck);
- bool EmitBuiltinBZero(gimple_statement_d *stmt, Value *&Result);
bool EmitBuiltinPrefetch(gimple_statement_d *stmt);
bool EmitBuiltinReturnAddr(gimple_statement_d *stmt, Value *&Result,
bool isFrame);
- bool EmitBuiltinExtractReturnAddr(gimple_statement_d *stmt, Value *&Result);
- bool EmitBuiltinFrobReturnAddr(gimple_statement_d *stmt, Value *&Result);
- bool EmitBuiltinStackSave(gimple_statement_d *stmt, Value *&Result);
bool EmitBuiltinStackRestore(gimple_statement_d *stmt);
+ bool EmitBuiltinStackSave(gimple_statement_d *stmt, Value *&Result);
+ bool EmitBuiltinUnreachable();
+ bool EmitBuiltinVACopy(gimple_statement_d *stmt);
+ bool EmitBuiltinVAEnd(gimple_statement_d *stmt);
+ bool EmitBuiltinVAStart(gimple_statement_d *stmt);
+
bool EmitBuiltinEHPointer(gimple_statement_d *stmt, Value *&Result);
bool EmitBuiltinDwarfCFA(gimple_statement_d *stmt, Value *&Result);
bool EmitBuiltinDwarfSPColumn(gimple_statement_d *stmt, Value *&Result);
@@ -649,8 +653,6 @@
bool EmitBuiltinEHReturn(gimple_statement_d *stmt, Value *&Result);
bool EmitBuiltinInitDwarfRegSizes(gimple_statement_d *stmt, Value *&Result);
bool EmitBuiltinUnwindInit(gimple_statement_d *stmt, Value *&Result);
- bool EmitBuiltinAdjustTrampoline(gimple_statement_d *stmt, Value *&Result);
- bool EmitBuiltinInitTrampoline(gimple_statement_d *stmt, Value *&Result);
// Complex Math Expressions.
Value *CreateComplex(Value *Real, Value *Imag);
Modified: dragonegg/trunk/src/Convert.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/Convert.cpp?rev=138801&r1=138800&r2=138801&view=diff
==============================================================================
--- dragonegg/trunk/src/Convert.cpp (original)
+++ dragonegg/trunk/src/Convert.cpp Tue Aug 30 04:20:45 2011
@@ -3714,10 +3714,21 @@
case BUILT_IN_VA_START: return EmitBuiltinVAStart(stmt);
case BUILT_IN_VA_END: return EmitBuiltinVAEnd(stmt);
case BUILT_IN_VA_COPY: return EmitBuiltinVACopy(stmt);
- case BUILT_IN_CONSTANT_P: return EmitBuiltinConstantP(stmt, Result);
+
+ case BUILT_IN_ADJUST_TRAMPOLINE:
+ return EmitBuiltinAdjustTrampoline(stmt, Result);
case BUILT_IN_ALLOCA: return EmitBuiltinAlloca(stmt, Result);
- case BUILT_IN_EXTEND_POINTER: return EmitBuiltinExtendPointer(stmt, Result);
+ case BUILT_IN_BZERO: return EmitBuiltinBZero(stmt, Result);
+ case BUILT_IN_CONSTANT_P: return EmitBuiltinConstantP(stmt, Result);
case BUILT_IN_EXPECT: return EmitBuiltinExpect(stmt, Result);
+ case BUILT_IN_EXTEND_POINTER: return EmitBuiltinExtendPointer(stmt, Result);
+ case BUILT_IN_EXTRACT_RETURN_ADDR:
+ return EmitBuiltinExtractReturnAddr(stmt, Result);
+ case BUILT_IN_FRAME_ADDRESS: return EmitBuiltinReturnAddr(stmt, Result,true);
+ case BUILT_IN_FROB_RETURN_ADDR:
+ return EmitBuiltinFrobReturnAddr(stmt, Result);
+ case BUILT_IN_INIT_TRAMPOLINE:
+ return EmitBuiltinInitTrampoline(stmt, Result);
case BUILT_IN_MEMCPY: return EmitBuiltinMemCopy(stmt, Result,
false, false);
case BUILT_IN_MEMCPY_CHK: return EmitBuiltinMemCopy(stmt, Result,
@@ -3728,21 +3739,12 @@
true, true);
case BUILT_IN_MEMSET: return EmitBuiltinMemSet(stmt, Result, false);
case BUILT_IN_MEMSET_CHK: return EmitBuiltinMemSet(stmt, Result, true);
- case BUILT_IN_BZERO: return EmitBuiltinBZero(stmt, Result);
case BUILT_IN_PREFETCH: return EmitBuiltinPrefetch(stmt);
- case BUILT_IN_FRAME_ADDRESS: return EmitBuiltinReturnAddr(stmt, Result,true);
case BUILT_IN_RETURN_ADDRESS:
return EmitBuiltinReturnAddr(stmt, Result,false);
- case BUILT_IN_STACK_SAVE: return EmitBuiltinStackSave(stmt, Result);
case BUILT_IN_STACK_RESTORE: return EmitBuiltinStackRestore(stmt);
- case BUILT_IN_EXTRACT_RETURN_ADDR:
- return EmitBuiltinExtractReturnAddr(stmt, Result);
- case BUILT_IN_FROB_RETURN_ADDR:
- return EmitBuiltinFrobReturnAddr(stmt, Result);
- case BUILT_IN_ADJUST_TRAMPOLINE:
- return EmitBuiltinAdjustTrampoline(stmt, Result);
- case BUILT_IN_INIT_TRAMPOLINE:
- return EmitBuiltinInitTrampoline(stmt, Result);
+ case BUILT_IN_STACK_SAVE: return EmitBuiltinStackSave(stmt, Result);
+ case BUILT_IN_UNREACHABLE: return EmitBuiltinUnreachable();
// Exception handling builtins.
case BUILT_IN_EH_POINTER:
@@ -5021,6 +5023,10 @@
return true;
}
+bool TreeToLLVM::EmitBuiltinUnreachable() {
+ Builder.CreateUnreachable();
+ return true;
+}
// Exception handling builtins.
More information about the llvm-commits
mailing list