Lines Matching defs:const
14 const InstructionKind Name::kKind = InstructionKind::k##Name; \
15 std::unique_ptr<InstructionBase> Name::Clone() const { \
18 void Name::Assign(const InstructionBase& other) { \
19 *this = static_cast<const Name&>(other); \
25 void ExpectType(const Type* expected, const Type* actual) {
30 void ExpectSubtype(const Type* subtype, const Type* supertype) {
37 void PeekInstruction::TypeInstruction(Stack<const Type*>* stack,
38 ControlFlowGraph* cfg) const {
39 const Type* type = stack->Peek(slot);
42 const TopType* top_type = TopType::cast(type);
52 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
56 void PokeInstruction::TypeInstruction(Stack<const Type*>* stack,
57 ControlFlowGraph* cfg) const {
58 const Type* type = stack->Top();
68 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
72 void DeleteRangeInstruction::TypeInstruction(Stack<const Type*>* stack,
73 ControlFlowGraph* cfg) const {
78 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
83 Stack<const Type*>* stack, ControlFlowGraph* cfg) const {
88 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
92 DefinitionLocation PushUninitializedInstruction::GetValueDefinition() const {
97 Stack<const Type*>* stack, ControlFlowGraph* cfg) const {
102 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
106 DefinitionLocation PushBuiltinPointerInstruction::GetValueDefinition() const {
111 Stack<const Type*>* stack, ControlFlowGraph* cfg) const {
116 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
122 std::size_t NamespaceConstantInstruction::GetValueDefinitionCount() const {
127 std::size_t index) const {
133 const NamespaceConstantInstruction& instruction) {
138 Stack<const Type*>* stack) const {
152 void CallIntrinsicInstruction::TypeInstruction(Stack<const Type*>* stack,
153 ControlFlowGraph* cfg) const {
154 std::vector<const Type*> parameter_types =
157 const Type* arg_type = stack->Pop();
158 const Type* parameter_type = parameter_types.back();
172 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
181 std::size_t CallIntrinsicInstruction::GetValueDefinitionCount() const {
186 std::size_t index) const {
192 const CallIntrinsicInstruction& instruction) {
198 [](const Type* type) -> const Type& { return *type; });
207 void CallCsaMacroInstruction::TypeInstruction(Stack<const Type*>* stack,
208 ControlFlowGraph* cfg) const {
209 std::vector<const Type*> parameter_types =
212 const Type* arg_type = stack->Pop();
213 const Type* parameter_type = parameter_types.back();
226 Stack<const Type*> catch_stack = *stack;
235 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
252 CallCsaMacroInstruction::GetExceptionObjectDefinition() const {
257 std::size_t CallCsaMacroInstruction::GetValueDefinitionCount() const {
262 std::size_t index) const {
268 const CallCsaMacroInstruction& instruction) {
280 Stack<const Type*>* stack, ControlFlowGraph* cfg) const {
281 std::vector<const Type*> parameter_types =
284 const Type* arg_type = stack->Pop();
285 const Type* parameter_type = parameter_types.back();
297 Stack<const Type*> continuation_stack = *stack;
308 Stack<const Type*> catch_stack = *stack;
314 Stack<const Type*> return_stack = *stack;
328 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
335 const std::size_t count = GetLabelValueDefinitionCount(label_index);
351 const std::size_t count = GetValueDefinitionCount();
361 std::size_t CallCsaMacroAndBranchInstruction::GetLabelCount() const {
366 std::size_t label) const {
372 std::size_t label, std::size_t index) const {
381 std::size_t CallCsaMacroAndBranchInstruction::GetValueDefinitionCount() const {
388 std::size_t index) const {
394 CallCsaMacroAndBranchInstruction::GetExceptionObjectDefinition() const {
400 const CallCsaMacroAndBranchInstruction& instruction) {
419 void CallBuiltinInstruction::TypeInstruction(Stack<const Type*>* stack,
420 ControlFlowGraph* cfg) const {
421 std::vector<const Type*> argument_types = stack->PopMany(argc);
431 Stack<const Type*> catch_stack = *stack;
440 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
454 std::size_t CallBuiltinInstruction::GetValueDefinitionCount() const {
459 std::size_t index) const {
465 CallBuiltinInstruction::GetExceptionObjectDefinition() const {
471 Stack<const Type*>* stack, ControlFlowGraph* cfg) const {
472 std::vector<const Type*> argument_types = stack->PopMany(argc);
473 const BuiltinPointerType* f = BuiltinPointerType::DynamicCast(stack->Pop());
486 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
493 std::size_t CallBuiltinPointerInstruction::GetValueDefinitionCount() const {
498 std::size_t index) const {
504 const CallBuiltinInstruction& instruction) {
516 void CallRuntimeInstruction::TypeInstruction(Stack<const Type*>* stack,
517 ControlFlowGraph* cfg) const {
518 std::vector<const Type*> argument_types = stack->PopMany(argc);
529 Stack<const Type*> catch_stack = *stack;
534 const Type* return_type = runtime_function->signature().return_type;
541 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
550 const Type* return_type = runtime_function->signature().return_type;
558 std::size_t CallRuntimeInstruction::GetValueDefinitionCount() const {
559 const Type* return_type = runtime_function->signature().return_type;
565 std::size_t index) const {
571 CallRuntimeInstruction::GetExceptionObjectDefinition() const {
577 const CallRuntimeInstruction& instruction) {
589 void BranchInstruction::TypeInstruction(Stack<const Type*>* stack,
590 ControlFlowGraph* cfg) const {
591 const Type* condition_type = stack->Pop();
600 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
607 const BranchInstruction& instruction) {
612 void ConstexprBranchInstruction::TypeInstruction(Stack<const Type*>* stack,
613 ControlFlowGraph* cfg) const {
619 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
625 const ConstexprBranchInstruction& instruction) {
631 void GotoInstruction::TypeInstruction(Stack<const Type*>* stack,
632 ControlFlowGraph* cfg) const {
637 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
641 std::ostream& operator<<(std::ostream& os, const GotoInstruction& instruction) {
645 void GotoExternalInstruction::TypeInstruction(Stack<const Type*>* stack,
646 ControlFlowGraph* cfg) const {
653 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {}
655 void ReturnInstruction::TypeInstruction(Stack<const Type*>* stack,
656 ControlFlowGraph* cfg) const {
661 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
666 Stack<const Type*>* stack, ControlFlowGraph* cfg) const {}
669 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {}
671 void AbortInstruction::TypeInstruction(Stack<const Type*>* stack,
672 ControlFlowGraph* cfg) const {}
675 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {}
677 void UnsafeCastInstruction::TypeInstruction(Stack<const Type*>* stack,
678 ControlFlowGraph* cfg) const {
683 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
687 DefinitionLocation UnsafeCastInstruction::GetValueDefinition() const {
691 void LoadReferenceInstruction::TypeInstruction(Stack<const Type*>* stack,
692 ControlFlowGraph* cfg) const {
697 DCHECK_EQ(std::vector<const Type*>{type}, LowerType(type));
702 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
708 DefinitionLocation LoadReferenceInstruction::GetValueDefinition() const {
712 void StoreReferenceInstruction::TypeInstruction(Stack<const Type*>* stack,
713 ControlFlowGraph* cfg) const {
722 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
728 void LoadBitFieldInstruction::TypeInstruction(Stack<const Type*>* stack,
729 ControlFlowGraph* cfg) const {
735 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
740 DefinitionLocation LoadBitFieldInstruction::GetValueDefinition() const {
744 void StoreBitFieldInstruction::TypeInstruction(Stack<const Type*>* stack,
745 ControlFlowGraph* cfg) const {
752 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
758 DefinitionLocation StoreBitFieldInstruction::GetValueDefinition() const {
762 void MakeLazyNodeInstruction::TypeInstruction(Stack<const Type*>* stack,
763 ControlFlowGraph* cfg) const {
764 std::vector<const Type*> parameter_types =
767 const Type* arg_type = stack->Pop();
768 const Type* parameter_type = parameter_types.back();
780 Stack<DefinitionLocation>* locations, Worklist<Block*>* worklist) const {
788 DefinitionLocation MakeLazyNodeInstruction::GetValueDefinition() const {
793 const MakeLazyNodeInstruction& instruction) {
796 for (const std::string& arg : instruction.constexpr_arguments) {
802 bool CallRuntimeInstruction::IsBlockTerminator() const {