#include <opt_lmv_helper.h>

Public Member Functions | |
| void | Init (void) |
| MEM_RANGE (void) | |
| BOOL | Base_is_symbol (void) const |
| void | Set_base_sym (ST *sym) |
| ST * | Base_sym (void) const |
| BOOL | Base_is_ptr (void) const |
| MA_POINTER * | Base_ptr (void) const |
| void | Set_base_ptr (MA_POINTER *ptr) |
| void | Set_access_range (const ADDR_LINEAR_EXPR_RANGE &r) |
| const ADDR_LINEAR_EXPR_RANGE & | Access_range (void) const |
| void | Set_access_range (MA_OFFSET *ofst, LMV_LOOP_INFO *loopinfo, INT access_sz) |
| void | Print (FILE *) |
Private Types | |
| enum | { BASE_IS_SYMBOL = 0x1, BASE_IS_PTR = 0x2, BASE_IS_INVALID = 0x4 } |
Private Attributes | |
| UINT32 | _flags |
| union { | |
| ST * _base_sym | |
| MA_POINTER * _base_ptr | |
| }; | |
| ADDR_LINEAR_EXPR_RANGE | _access_range |
Definition at line 655 of file opt_lmv_helper.h.
anonymous enum [private] |
Definition at line 658 of file opt_lmv_helper.h.
| MEM_RANGE::MEM_RANGE | ( | void | ) | [inline] |
Definition at line 671 of file opt_lmv_helper.h.
References _access_range, _base_sym, _flags, BASE_IS_INVALID, ADDR_LINEAR_EXPR_RANGE::high, ADDR_LINEAR_EXPR::Init(), ADDR_LINEAR_EXPR_RANGE::low, and NULL.
Referenced by LMV_HEURISTIC::Figureout_assumed_noalias_mem_ranges(), and MEM_RANGE().
Definition at line 677 of file opt_lmv_helper.h.
References _flags, and BASE_IS_SYMBOL.
Referenced by Base_sym(), LOOP_MULTIVER::Gen_test_cond(), Print(), and Set_access_range().
Definition at line 679 of file opt_lmv_helper.h.
References _base_sym, Base_is_symbol(), and NULL.
Referenced by Print(), and Set_access_range().
Definition at line 681 of file opt_lmv_helper.h.
References _flags, and BASE_IS_PTR.
Referenced by Base_ptr(), and Print().
| MA_POINTER* MEM_RANGE::Base_ptr | ( | void | ) | const [inline] |
Definition at line 682 of file opt_lmv_helper.h.
References _base_ptr, Base_is_ptr(), and NULL.
Referenced by LOOP_MULTIVER::Gen_test_cond(), Print(), and Set_access_range().
| void MEM_RANGE::Set_base_ptr | ( | MA_POINTER * | ptr | ) | [inline] |
Definition at line 683 of file opt_lmv_helper.h.
References _base_ptr, _flags, and BASE_IS_PTR.
Referenced by LMV_HEURISTIC::Figureout_assumed_noalias_mem_ranges().
| void MEM_RANGE::Set_access_range | ( | const ADDR_LINEAR_EXPR_RANGE & | r | ) | [inline] |
Definition at line 685 of file opt_lmv_helper.h.
References _access_range.
Referenced by LMV_HEURISTIC::Figureout_assumed_noalias_mem_ranges().
| const ADDR_LINEAR_EXPR_RANGE& MEM_RANGE::Access_range | ( | void | ) | const [inline] |
Definition at line 686 of file opt_lmv_helper.h.
References _access_range.
Referenced by LMV_HEURISTIC::Figureout_assumed_noalias_mem_ranges(), and LOOP_MULTIVER::Gen_test_cond().
| void MEM_RANGE::Set_access_range | ( | MA_OFFSET * | ofst, | |
| LMV_LOOP_INFO * | loopinfo, | |||
| INT | access_sz | |||
| ) |
Definition at line 1081 of file opt_lmv_helper.cxx.
References _access_range, ADDR_LINEAR_EXPR::Add(), Base_is_symbol(), Base_ptr(), Base_sym(), FALSE, FmtAssert, ADDR_LINEAR_EXPR_RANGE::high, ADDR_LINEAR_EXPR::Init(), INT, ADDR_LINEAR_EXPR::Is_invalid(), MA_OFFSET::Kind(), KIND_ARRAY, MA_OFFSET::Linear_ofst(), MA_OFFSET::Linear_ofst_range(), ADDR_LINEAR_EXPR_RANGE::low, MA_OFST_FIXED, MA_OFST_LINEAR, MA_OFST_RANGE, MA_OFST_TOO_MESSY, MA_OFST_UNKNOWN, r, ADDR_LINEAR_EXPR::Set_const_expr(), ST_type, sz(), TY_kind, and TY_size.
Definition at line 1509 of file opt_lmv_helper.cxx.
References _access_range, Base_is_ptr(), Base_is_symbol(), Base_ptr(), Base_sym(), FALSE, fprintf(), MA_POINTER::Print(), ST::Print(), and ADDR_LINEAR_EXPR_RANGE::Print().
UINT32 MEM_RANGE::_flags [private] |
Definition at line 657 of file opt_lmv_helper.h.
Referenced by Base_is_ptr(), Base_is_symbol(), Init(), Set_base_ptr(), and Set_base_sym().
Definition at line 664 of file opt_lmv_helper.h.
Referenced by Base_sym(), Init(), and Set_base_sym().
union { ... } [private] |
Definition at line 668 of file opt_lmv_helper.h.
Referenced by Access_range(), Init(), Print(), and Set_access_range().
1.5.6