X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FIntrinsics.h;h=e439476914f069b118d3dbb236fd6c9cd65cd0e5;hb=c521409d4cf6c8edf4900dda36f6ef9b953f8951;hp=e0a8dd7954ef8599642a30098c1496971a01b9bf;hpb=7f4ec3b2e3157e6a0798f3e95a3961bfa6ef66b6;p=oota-llvm.git diff --git a/include/llvm/Intrinsics.h b/include/llvm/Intrinsics.h index e0a8dd7954e..e439476914f 100644 --- a/include/llvm/Intrinsics.h +++ b/include/llvm/Intrinsics.h @@ -1,10 +1,10 @@ //===-- llvm/Instrinsics.h - LLVM Intrinsic Function Handling ---*- C++ -*-===// -// +// // The LLVM Compiler Infrastructure // // This file was developed by the LLVM research group and is distributed under // the University of Illinois Open Source License. See LICENSE.TXT for details. -// +// //===----------------------------------------------------------------------===// // // This file defines a set of enums which allow processing of intrinsic @@ -26,51 +26,16 @@ namespace Intrinsic { enum ID { not_intrinsic = 0, // Must be zero - // Varargs handling intrinsics. - vastart, // Used to implement the va_start macro in C - vaend, // Used to implement the va_end macro in C - vacopy, // Used to implement the va_copy macro in C - - // Code generator intrinsics. - returnaddress, // Yields the return address of a dynamic call frame - frameaddress, // Yields the frame address of a dynamic call frame - prefetch, // Prefetch a value into the cache - pcmarker, // Export a PC from near the marker - - // setjmp/longjmp intrinsics. - setjmp, // Used to represent a setjmp call in C - longjmp, // Used to represent a longjmp call in C - sigsetjmp, // Used to represent a sigsetjmp call in C - siglongjmp, // Used to represent a siglongjmp call in C - - // Garbage Collection intrinsics. - gcroot, // Defines a new GC root on the stack - gcread, // Defines a read of a heap object (for read barriers) - gcwrite, // Defines a write to a heap object (for write barriers) - - // Debugging intrinsics. - dbg_stoppoint, // Represents source lines and breakpointable places - dbg_region_start, // Start of a region - dbg_region_end, // End of a region - dbg_func_start, // Start of a function - dbg_declare, // Declare a local object - - - // Standard libc functions. - memcpy, // Copy non-overlapping memory blocks - memmove, // Copy potentially overlapping memory blocks - memset, // Fill memory with a byte value - - // libm related functions. - isunordered, // Return true if either argument is a NaN - - // Input/Output intrinsics. - readport, - writeport, - readio, - writeio + // Get the intrinsic enums generated from Intrinsics.td +#define GET_INTRINSIC_ENUM_VALUES +#include "llvm/Intrinsics.gen" +#undef GET_INTRINSIC_ENUM_VALUES + , num_intrinsics }; - + + /// Intrinsic::getName(ID) - Return the LLVM name for an intrinsic, such as + /// "llvm.ppc.altivec.lvx". + const char *getName(ID id); } // End Intrinsic namespace } // End llvm namespace