| 1060 | } |
| 1061 | |
| 1062 | void IRContext::CollectCallTreeFromRoots(unsigned entryId, |
| 1063 | std::unordered_set<uint32_t>* funcs) { |
| 1064 | std::queue<uint32_t> roots; |
| 1065 | roots.push(entryId); |
| 1066 | while (!roots.empty()) { |
| 1067 | const uint32_t fi = roots.front(); |
| 1068 | roots.pop(); |
| 1069 | funcs->insert(fi); |
| 1070 | Function* fn = GetFunction(fi); |
| 1071 | AddCalls(fn, &roots); |
| 1072 | } |
| 1073 | } |
| 1074 | |
| 1075 | void IRContext::EmitErrorMessage(std::string message, Instruction* inst) { |
| 1076 | if (!consumer()) { |
no test coverage detected