| 21 | } |
| 22 | |
| 23 | HalideExecutable::TargetTraitUserData* HalideExecutable::TargetTrait::user_data( |
| 24 | const HalideExecutable& hl_exec, |
| 25 | thin_function<std::unique_ptr<TargetTraitUserData>()> maker) { |
| 26 | MGB_LOCK_GUARD(hl_exec.m_target_trait_user_data_mtx); |
| 27 | if (!hl_exec.m_target_trait_user_data) { |
| 28 | hl_exec.m_target_trait_user_data = maker(); |
| 29 | } |
| 30 | return hl_exec.m_target_trait_user_data.get(); |
| 31 | } |
| 32 | |
| 33 | /* =================== HalideExecutable ==================== */ |
| 34 |
no test coverage detected