Class JoinLoop¶
-
class
JoinLoop
¶ Public Types
Public Functions
-
JoinLoop
(const JoinLoopKind, const JoinType, const std::function<JoinLoopDomain(const std::vector<llvm::Value *>&)> &iteration_domain_codegen, const std::function<llvm::Value *(const std::vector<llvm::Value *>&)> &outer_condition_match, const std::function<void(llvm::Value *)> &found_outer_matches, const HoistedFiltersCallback &hoisted_filters, const std::function<llvm::Value *(const std::vector<llvm::Value *> &prev_iters, llvm::Value *)> &is_deleted, const std::string &name = "", )¶
-
JoinLoopKind
kind
() const¶
Public Static Functions
Private Members
-
const JoinLoopKind
kind_
¶
-
const JoinType
type_
¶
-
const std::function<JoinLoopDomain(const std::vector<llvm::Value *>&)>
iteration_domain_codegen_
¶
-
const std::function<llvm::Value *(const std::vector<llvm::Value *>&)>
outer_condition_match_
¶
-
const std::function<void(llvm::Value *)>
found_outer_matches_
¶
-
const HoistedFiltersCallback
hoisted_filters_
¶
-
const std::function<llvm::Value *(const std::vector<llvm::Value *> &prev_iters, llvm::Value *)>
is_deleted_
¶
-
const std::string
name_
¶
Private Static Functions
-
std::pair<llvm::BasicBlock *, llvm::Value *>
evaluateOuterJoinCondition
(const JoinLoop &join_loop, const JoinLoopDomain &iteration_domain, const std::vector<llvm::Value *> &iterators, llvm::Value *iteration_counter, llvm::Value *have_more_inner_rows, llvm::Value *found_an_outer_match_ptr, llvm::Value *current_condition_match_ptr, CgenState *cgen_state)¶
-