PageRenderTime 6ms CodeModel.GetById 1ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/src/wrappers/llvm/library/values/llvm_user.e

http://github.com/tybor/Liberty
Specman e | 44 lines | 4 code | 6 blank | 34 comment | 0 complexity | ef68454bf9a7e7f6635fcd786872e2fc MD5 | raw file
 1deferred class LLVM_USER
 2	-- Ancestor of constants, operators and instructions (and meta-database).
 3
 4	-- The User class is the common base class of all LLVM nodes that may refer
 5	-- to Values. It exposes a list of "Operands" that are all of the Values
 6	-- that the User is referring to. The User class itself is a subclass of
 7	-- Value.
 8
 9	-- The operands of a User point directly to the LLVM Value that it refers
10	-- to. Because LLVM uses Static Single Assignment (SSA) form, there can
11	-- only be one definition referred to, allowing this direct connection.
12	-- This connection provides the use-def information in LLVM.
13
14inherit LLVM_VALUE
15feature {ANY} -- TODO:Important Public Members of the User class
16-- The User class exposes the operand list in two ways: through an index access interface and through an iterator based interface.
17-- 
18-- operand (an_index: NATURAL_32): LLVM_VALUE is Value *getOperand(unsigned i)
19-- unsigned getNumOperands()
20-- These two methods expose the operands of the User in a convenient form for direct access.
21-- 
22-- User::op_iterator - Typedef for iterator over the operand list
23-- op_iterator op_begin() - Get an iterator to the start of the operand list.
24-- op_iterator op_end() - Get an iterator to the end of the operand list.
25-- Together, these methods make up the iterator based interface to the operands of a User.
26end -- class LLVM_USER
27
28-- Copyright (C) 2009-2017: ,2010,2013 Paolo Redaelli - 2013 Cyril Adrian 
29
30-- This file is part of LLVM wrappers for Liberty Eiffel.
31--
32-- This library is free software: you can redistribute it and/or modify
33-- it under the terms of the GNU Lesser General Public License as published by
34-- the Free Software Foundation, version 3 of the License.
35--
36-- Liberty Eiffel is distributed in the hope that it will be useful,
37-- but WITHOUT ANY WARRANTY; without even the implied warranty of
38-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
39-- GNU General Public License for more details.
40--
41-- You should have received a copy of the GNU General Public License
42-- along with Liberty Eiffel.  If not, see <http://www.gnu.org/licenses/>.
43--
44