1//===---- TargetInfo.h - Encapsulate target details -------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 42 unchanged lines hidden (view full) --- 51 /// pointers to uint64_t or zero-extend them (the default). Has 52 /// no effect for targets: 53 /// - that have 64-bit pointers, or 54 /// - that cannot address through registers larger than pointers, or 55 /// - that implicitly ignore/truncate the top bits when addressing 56 /// through such registers. 57 virtual bool extendPointerWithSExt() const { return false; } 58 |
59 /// Determines the DWARF register number for the stack pointer, for 60 /// exception-handling purposes. Implements __builtin_dwarf_sp_column. 61 /// 62 /// Returns -1 if the operation is unsupported by this target. 63 virtual int getDwarfEHStackPointer(CodeGen::CodeGenModule &M) const { 64 return -1; 65 } 66 67 /// Initializes the given DWARF EH register-size table, a char*. 68 /// Implements __builtin_init_dwarf_reg_size_table. 69 /// 70 /// Returns true if the operation is unsupported by this target. 71 virtual bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, 72 llvm::Value *Address) const { 73 return true; 74 } 75 |
76 /// Performs the code-generation required to convert a return 77 /// address as stored by the system into the actual address of the 78 /// next instruction that will be executed. 79 /// 80 /// Used by __builtin_extract_return_addr(). 81 virtual llvm::Value *decodeReturnAddress(CodeGen::CodeGenFunction &CGF, 82 llvm::Value *Address) const { 83 return Address; --- 15 unchanged lines hidden --- |