Removing FromApiStatus and unifying IREE_RETURN_IF_ERROR macros.
diff --git a/bindings/java/com/google/iree/native/context_wrapper.cc b/bindings/java/com/google/iree/native/context_wrapper.cc
index 2e2f8a2..14bc39c 100644
--- a/bindings/java/com/google/iree/native/context_wrapper.cc
+++ b/bindings/java/com/google/iree/native/context_wrapper.cc
@@ -34,16 +34,13 @@
} // namespace
Status ContextWrapper::Create(const InstanceWrapper& instance_wrapper) {
- RETURN_IF_ERROR(
- FromApiStatus(iree_vm_context_create(instance_wrapper.instance(),
- iree_allocator_system(), &context_),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_vm_context_create(instance_wrapper.instance(),
+ iree_allocator_system(), &context_));
RETURN_IF_ERROR(CreateDefaultModules());
std::vector<iree_vm_module_t*> default_modules = {hal_module_};
- return FromApiStatus(
- iree_vm_context_register_modules(context_, default_modules.data(),
- default_modules.size()),
- IREE_LOC);
+ RETURN_IF_ERROR(iree_vm_context_register_modules(
+ context_, default_modules.data(), default_modules.size()));
+ return OkStatus();
}
Status ContextWrapper::CreateWithModules(
@@ -56,25 +53,24 @@
// beginning of the vector.
modules.insert(modules.begin(), hal_module_);
- return FromApiStatus(iree_vm_context_create_with_modules(
- instance_wrapper.instance(), modules.data(),
- modules.size(), iree_allocator_system(), &context_),
- IREE_LOC);
+ RETURN_IF_ERROR(iree_vm_context_create_with_modules(
+ instance_wrapper.instance(), modules.data(), modules.size(),
+ iree_allocator_system(), &context_));
+ return OkStatus();
}
Status ContextWrapper::RegisterModules(
const std::vector<ModuleWrapper*>& module_wrappers) {
auto modules = GetModulesFromModuleWrappers(module_wrappers);
- return FromApiStatus(iree_vm_context_register_modules(
- context_, modules.data(), modules.size()),
- IREE_LOC);
+ RETURN_IF_ERROR(iree_vm_context_register_modules(context_, modules.data(),
+ modules.size()));
+ return OkStatus();
}
Status ContextWrapper::ResolveFunction(const FunctionWrapper& function_wrapper,
iree_string_view_t name) {
- return FromApiStatus(iree_vm_context_resolve_function(
- context_, name, function_wrapper.function()),
- IREE_LOC);
+ return iree_vm_context_resolve_function(context_, name,
+ function_wrapper.function());
}
int ContextWrapper::id() const { return iree_vm_context_id(context_); }
@@ -88,16 +84,13 @@
// TODO(jennik): Also create default string and tensorlist modules.
Status ContextWrapper::CreateDefaultModules() {
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_driver_registry_create_driver(iree_make_cstring_view("vmla"),
- iree_allocator_system(), &driver_),
- IREE_LOC));
- RETURN_IF_ERROR(FromApiStatus(iree_hal_driver_create_default_device(
- driver_, iree_allocator_system(), &device_),
- IREE_LOC));
- return FromApiStatus(
- iree_hal_module_create(device_, iree_allocator_system(), &hal_module_),
- IREE_LOC);
+ RETURN_IF_ERROR(iree_hal_driver_registry_create_driver(
+ iree_make_cstring_view("vmla"), iree_allocator_system(), &driver_));
+ RETURN_IF_ERROR(iree_hal_driver_create_default_device(
+ driver_, iree_allocator_system(), &device_));
+ RETURN_IF_ERROR(
+ iree_hal_module_create(device_, iree_allocator_system(), &hal_module_));
+ return OkStatus();
}
} // namespace java
diff --git a/bindings/java/com/google/iree/native/instance_wrapper.cc b/bindings/java/com/google/iree/native/instance_wrapper.cc
index afceac9..f35d7e3 100644
--- a/bindings/java/com/google/iree/native/instance_wrapper.cc
+++ b/bindings/java/com/google/iree/native/instance_wrapper.cc
@@ -45,8 +45,7 @@
static std::once_flag setup_vm_once;
std::call_once(setup_vm_once, [] { SetupVm(); });
- return FromApiStatus(
- iree_vm_instance_create(iree_allocator_system(), &instance_), IREE_LOC);
+ return iree_vm_instance_create(iree_allocator_system(), &instance_);
}
iree_vm_instance_t* InstanceWrapper::instance() const { return instance_; }
diff --git a/bindings/java/com/google/iree/native/module_wrapper.cc b/bindings/java/com/google/iree/native/module_wrapper.cc
index 813c0c9..69794b7 100644
--- a/bindings/java/com/google/iree/native/module_wrapper.cc
+++ b/bindings/java/com/google/iree/native/module_wrapper.cc
@@ -21,11 +21,9 @@
Status ModuleWrapper::Create(const uint8_t* flatbuffer_data,
iree_host_size_t length) {
- return FromApiStatus(
- iree_vm_bytecode_module_create(
- iree_const_byte_span_t{flatbuffer_data, length},
- iree_allocator_null(), iree_allocator_system(), &module_),
- IREE_LOC);
+ return iree_vm_bytecode_module_create(
+ iree_const_byte_span_t{flatbuffer_data, length}, iree_allocator_null(),
+ iree_allocator_system(), &module_);
}
iree_vm_module_t* ModuleWrapper::module() const { return module_; }
diff --git a/iree/base/BUILD b/iree/base/BUILD
index 55e82b8..0bf238d 100644
--- a/iree/base/BUILD
+++ b/iree/base/BUILD
@@ -381,7 +381,9 @@
cc_library(
name = "status",
hdrs = ["status.h"],
- deps = platform_trampoline_deps("status"),
+ deps = [
+ "//iree/base/internal:status",
+ ],
)
cc_test(
diff --git a/iree/base/api_util.h b/iree/base/api_util.h
index 04e70b6..fd97c7a 100644
--- a/iree/base/api_util.h
+++ b/iree/base/api_util.h
@@ -30,11 +30,6 @@
return iree_make_status(static_cast<iree_status_code_t>(status.code()));
}
-inline StatusBuilder FromApiStatus(iree_status_t status_code,
- SourceLocation loc) {
- return StatusBuilder(static_cast<StatusCode>(status_code), loc);
-}
-
// Internal helper for concatenating macro values.
#define IREE_API_STATUS_MACROS_IMPL_CONCAT_INNER_(x, y) x##y
#define IREE_API_STATUS_MACROS_IMPL_CONCAT_(x, y) \
diff --git a/iree/base/internal/status.cc b/iree/base/internal/status.cc
index b8008d9..03747af 100644
--- a/iree/base/internal/status.cc
+++ b/iree/base/internal/status.cc
@@ -26,6 +26,16 @@
return os;
}
+Status::Status(iree_status_t status) {
+ // TODO(#265): just store status.
+ if (!iree_status_is_ok(status)) {
+ state_ = std::make_unique<State>();
+ state_->code = static_cast<StatusCode>(iree_status_code(status));
+ state_->message = std::string("TODO");
+ iree_status_ignore(status);
+ }
+}
+
Status::Status(StatusCode code, absl::string_view message) {
if (code != StatusCode::kOk) {
state_ = std::make_unique<State>();
diff --git a/iree/base/internal/status.h b/iree/base/internal/status.h
index 30404b8..4ded715 100644
--- a/iree/base/internal/status.h
+++ b/iree/base/internal/status.h
@@ -89,6 +89,8 @@
// Creates an OK status with no message.
Status() = default;
+ Status(iree_status_t status);
+
// Creates a status with the specified code and error message.
// If `code` is kOk, `message` is ignored.
Status(StatusCode code, absl::string_view message);
@@ -155,6 +157,14 @@
// has been augmented by adding `msg` to the end of the original message.
Status Annotate(const Status& s, absl::string_view msg);
+ABSL_MUST_USE_RESULT static inline bool IsOk(const Status& status) {
+ return status.code() == StatusCode::kOk;
+}
+
+ABSL_MUST_USE_RESULT static inline bool IsOk(iree_status_t status) {
+ return iree_status_is_ok(status);
+}
+
ABSL_MUST_USE_RESULT static inline bool IsAborted(const Status& status) {
return status.code() == StatusCode::kAborted;
}
diff --git a/iree/base/internal/status_builder.h b/iree/base/internal/status_builder.h
index 738fbf6..240556a 100644
--- a/iree/base/internal/status_builder.h
+++ b/iree/base/internal/status_builder.h
@@ -35,6 +35,10 @@
// current location.
explicit StatusBuilder(StatusCode code, SourceLocation location);
+ explicit StatusBuilder(iree_status_t status, SourceLocation location)
+ : status_(static_cast<StatusCode>(iree_status_code(status)), ""),
+ loc_(location) {}
+
StatusBuilder(const StatusBuilder& sb);
StatusBuilder& operator=(const StatusBuilder& sb);
StatusBuilder(StatusBuilder&&) = default;
@@ -59,6 +63,13 @@
operator Status() const&;
operator Status() &&;
+ // TODO(#265): toll-free result.
+ operator iree_status_t() && {
+ return iree_status_allocate(static_cast<iree_status_code_t>(status_.code()),
+ loc_.file_name(), loc_.line(),
+ iree_string_view_empty());
+ }
+
friend bool operator==(const StatusBuilder& lhs, const StatusCode& rhs) {
return lhs.code() == rhs;
}
@@ -171,7 +182,10 @@
#define IREE_STATUS_MACROS_IMPL_RETURN_IF_ERROR_(var, expr) \
auto var = (expr); \
- if (IREE_UNLIKELY(!var.ok())) \
+ if (IREE_UNLIKELY(!::iree::IsOk(var))) \
return ::iree::StatusBuilder(std::move(var), IREE_LOC)
+#undef IREE_RETURN_IF_ERROR
+#define IREE_RETURN_IF_ERROR(expr, ...) RETURN_IF_ERROR(expr)
+
#endif // IREE_BASE_INTERNAL_STATUS_BUILDER_H_
diff --git a/iree/base/status.h b/iree/base/status.h
index 97c3716..e553d1b 100644
--- a/iree/base/status.h
+++ b/iree/base/status.h
@@ -15,13 +15,8 @@
#ifndef IREE_BASE_STATUS_H_
#define IREE_BASE_STATUS_H_
-#if defined(IREE_CONFIG_GOOGLE_INTERNAL) && IREE_CONFIG_GOOGLE_INTERNAL
-#include "iree/base/google_internal/source_location_google.h"
-#include "iree/base/google_internal/status_google.h"
-#else
#include "iree/base/internal/status.h"
#include "iree/base/internal/status_builder.h"
#include "iree/base/internal/statusor.h"
-#endif // IREE_CONFIG_GOOGLE_INTERNAL
#endif // IREE_BASE_STATUS_H_
diff --git a/iree/hal/api.cc b/iree/hal/api.cc
index 099c343..9e14caf 100644
--- a/iree/hal/api.cc
+++ b/iree/hal/api.cc
@@ -2073,7 +2073,7 @@
IREE_TRACE_SCOPE0("iree_hal_semaphore_fail");
IREE_ASSERT_ARGUMENT(semaphore);
auto* handle = reinterpret_cast<Semaphore*>(semaphore);
- handle->Fail(FromApiStatus(status, IREE_LOC));
+ handle->Fail(std::move(status));
}
IREE_API_EXPORT iree_status_t IREE_API_CALL
diff --git a/iree/hal/api_string_util_test.cc b/iree/hal/api_string_util_test.cc
index 2275db5..c900898 100644
--- a/iree/hal/api_string_util_test.cc
+++ b/iree/hal/api_string_util_test.cc
@@ -17,9 +17,9 @@
#include "iree/base/api_util.h"
#include "iree/base/memory.h"
#include "iree/base/status.h"
-#include "iree/testing/status_matchers.h"
#include "iree/hal/api.h"
#include "iree/testing/gtest.h"
+#include "iree/testing/status_matchers.h"
namespace iree {
namespace hal {
@@ -45,10 +45,7 @@
shape.size(), shape.data(), &actual_rank);
shape.resize(actual_rank);
} while (iree_status_is_out_of_range(status));
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC)
- << "Failed to parse shape '" << value << "'";
- }
+ RETURN_IF_ERROR(std::move(status));
return std::move(shape);
}
@@ -63,9 +60,7 @@
&buffer[0], &actual_length);
buffer.resize(actual_length);
} while (iree_status_is_out_of_range(status));
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC);
- }
+ RETURN_IF_ERROR(std::move(status));
return std::move(buffer);
}
@@ -75,10 +70,8 @@
iree_hal_element_type_t element_type = IREE_HAL_ELEMENT_TYPE_NONE;
iree_status_t status = iree_hal_parse_element_type(
iree_string_view_t{value.data(), value.size()}, &element_type);
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC)
- << "Failed to parse element type '" << value << "'";
- }
+ RETURN_IF_ERROR(std::move(status))
+ << "Failed to parse element type '" << value << "'";
return element_type;
}
@@ -93,9 +86,7 @@
&actual_length);
buffer.resize(actual_length);
} while (iree_status_is_out_of_range(status));
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC);
- }
+ RETURN_IF_ERROR(std::move(status));
return std::move(buffer);
}
@@ -111,10 +102,8 @@
iree_string_view_t{value.data(), value.size()}, element_type,
iree_byte_span_t{reinterpret_cast<uint8_t*>(buffer.data()),
buffer.size() * sizeof(T)});
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC)
- << "Failed to parse element '" << value << "'";
- }
+ RETURN_IF_ERROR(std::move(status))
+ << "Failed to parse element '" << value << "'";
return OkStatus();
}
@@ -132,10 +121,8 @@
element_type, result.size() + 1, &result[0], &actual_length);
result.resize(actual_length);
} while (iree_status_is_out_of_range(status));
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC)
- << "Failed to format buffer element '" << value << "'";
- }
+ RETURN_IF_ERROR(std::move(status))
+ << "Failed to format buffer element '" << value << "'";
return std::move(result);
}
@@ -148,14 +135,11 @@
Status ParseBufferElements(absl::string_view value,
iree_hal_element_type_t element_type,
absl::Span<T> buffer) {
- iree_status_t status = iree_hal_parse_buffer_elements(
+ RETURN_IF_ERROR(iree_hal_parse_buffer_elements(
iree_string_view_t{value.data(), value.size()}, element_type,
iree_byte_span_t{reinterpret_cast<uint8_t*>(buffer.data()),
- buffer.size() * sizeof(T)});
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC)
- << "Failed to parse buffer elements '" << value << "'";
- }
+ buffer.size() * sizeof(T)}))
+ << "Failed to parse buffer elements '" << value << "'";
return OkStatus();
}
@@ -181,9 +165,7 @@
result.size() + 1, &result[0], &actual_length);
result.resize(actual_length);
} while (iree_status_is_out_of_range(status));
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC);
- }
+ RETURN_IF_ERROR(std::move(status));
return std::move(result);
}
@@ -411,9 +393,7 @@
Allocator allocator;
iree_status_t status = iree_hal_allocator_create_host_local(
iree_allocator_system(), &allocator);
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC);
- }
+ RETURN_IF_ERROR(std::move(status));
return std::move(allocator);
}
};
@@ -436,9 +416,7 @@
std::vector<T> result(total_byte_length / sizeof(T));
iree_status_t status =
iree_hal_buffer_read_data(get(), 0, result.data(), total_byte_length);
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC);
- }
+ RETURN_IF_ERROR(std::move(status));
return std::move(result);
}
};
@@ -457,9 +435,7 @@
iree_status_t status = iree_hal_buffer_view_create(
buffer, shape.data(), shape.size(), element_type,
iree_allocator_system(), &buffer_view);
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC);
- }
+ RETURN_IF_ERROR(std::move(status));
return std::move(buffer_view);
}
@@ -510,9 +486,7 @@
iree_status_t status = iree_hal_buffer_view_parse(
iree_string_view_t{value.data(), value.size()}, allocator,
iree_allocator_system(), &buffer_view);
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC);
- }
+ RETURN_IF_ERROR(std::move(status));
return std::move(buffer_view);
}
@@ -532,9 +506,7 @@
&actual_length);
result.resize(actual_length);
} while (iree_status_is_out_of_range(status));
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC);
- }
+ RETURN_IF_ERROR(std::move(status));
return std::move(result);
}
};
diff --git a/iree/hal/vmla/vmla_driver.cc b/iree/hal/vmla/vmla_driver.cc
index 717d470..096eed6 100644
--- a/iree/hal/vmla/vmla_driver.cc
+++ b/iree/hal/vmla/vmla_driver.cc
@@ -50,8 +50,7 @@
// NOTE: we could use our own allocator here to hide these from any default
// tracing we have.
iree_vm_instance_t* instance = nullptr;
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_instance_create(iree_allocator_system(), &instance), IREE_LOC));
+ RETURN_IF_ERROR(iree_vm_instance_create(iree_allocator_system(), &instance));
// TODO(benvanik): move to instance-based registration.
RETURN_IF_ERROR(ModuleRegisterTypes()) << "VMLA type registration failed";
diff --git a/iree/hal/vmla/vmla_executable.cc b/iree/hal/vmla/vmla_executable.cc
index 23d50d4..c4786d9 100644
--- a/iree/hal/vmla/vmla_executable.cc
+++ b/iree/hal/vmla/vmla_executable.cc
@@ -80,29 +80,25 @@
// Load bytecode module from the executable spec.
iree_vm_module_t* bytecode_module = nullptr;
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_bytecode_module_create(
- iree_const_byte_span_t{reinterpret_cast<const uint8_t*>(
- executable_def->bytecode_module()->data()),
- executable_def->bytecode_module()->size()},
- iree_allocator_null(), iree_allocator_system(), &bytecode_module),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_vm_bytecode_module_create(
+ iree_const_byte_span_t{reinterpret_cast<const uint8_t*>(
+ executable_def->bytecode_module()->data()),
+ executable_def->bytecode_module()->size()},
+ iree_allocator_null(), iree_allocator_system(), &bytecode_module))
<< "Failed to load executable bytecode module";
entry_functions_.resize(
iree_vm_module_signature(bytecode_module).export_function_count);
for (int i = 0; i < entry_functions_.size(); ++i) {
- RETURN_IF_ERROR(
- FromApiStatus(iree_vm_module_lookup_function_by_ordinal(
- bytecode_module, IREE_VM_FUNCTION_LINKAGE_EXPORT, i,
- &entry_functions_[i], nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_vm_module_lookup_function_by_ordinal(
+ bytecode_module, IREE_VM_FUNCTION_LINKAGE_EXPORT, i,
+ &entry_functions_[i], nullptr));
}
// Create context and initialize shared state. Note that each executable here
// has its own context (and thus its own vmla.interface instance).
std::array<iree_vm_module_t*, 2> modules = {vmla_module, bytecode_module};
- auto result = FromApiStatus(iree_vm_context_create_with_modules(
+ auto result = StatusBuilder(iree_vm_context_create_with_modules(
instance, modules.data(), modules.size(),
iree_allocator_system(), &context_),
IREE_LOC)
@@ -165,24 +161,20 @@
auto* input_list_storage = alloca(dispatch_state->input_list_size);
iree_vm_list_t* input_list = nullptr;
- RETURN_IF_ERROR(
- FromApiStatus(iree_vm_list_initialize(
- iree_make_byte_span(input_list_storage,
- dispatch_state->input_list_size),
- /*element_type=*/nullptr,
- /*interface*/ 1 + /*workgroup_xyz[3]*/ 3, &input_list),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_vm_list_initialize(
+ iree_make_byte_span(input_list_storage, dispatch_state->input_list_size),
+ /*element_type=*/nullptr,
+ /*interface*/ 1 + /*workgroup_xyz[3]*/ 3, &input_list));
iree_vm_list_push_ref_retain(input_list, &dispatch_state->interface_ref);
for (int i = 0; i < workgroup_xyz.size(); ++i) {
iree_vm_value_t value = iree_vm_value_make_i32(workgroup_xyz[i]);
iree_vm_list_push_value(input_list, &value);
}
- auto status = FromApiStatus(
- iree_vm_invoke(context(), dispatch_state->function,
- /*policy=*/nullptr, input_list,
- /*outputs=*/nullptr, iree_allocator_system()),
- IREE_LOC);
+ auto status =
+ Status(iree_vm_invoke(context(), dispatch_state->function,
+ /*policy=*/nullptr, input_list,
+ /*outputs=*/nullptr, iree_allocator_system()));
iree_vm_list_deinitialize(input_list);
diff --git a/iree/hal/vmla/vmla_module.cc b/iree/hal/vmla/vmla_module.cc
index d577a7e..1cb3bc8 100644
--- a/iree/hal/vmla/vmla_module.cc
+++ b/iree/hal/vmla/vmla_module.cc
@@ -31,12 +31,11 @@
IREE_VM_DEFINE_TYPE_ADAPTERS(Buffer, iree::hal::vmla::Buffer);
IREE_VM_DEFINE_TYPE_ADAPTERS(Interface, iree::hal::vmla::Interface);
-#define IREE_VMLA_REGISTER_CC_TYPE(type, name, descriptor) \
- descriptor.type_name = iree_make_cstring_view(name); \
- descriptor.offsetof_counter = type::offsetof_counter(); \
- descriptor.destroy = type::DirectDestroy; \
- RETURN_IF_ERROR( \
- FromApiStatus(iree_vm_ref_register_type(&descriptor), IREE_LOC)) \
+#define IREE_VMLA_REGISTER_CC_TYPE(type, name, descriptor) \
+ descriptor.type_name = iree_make_cstring_view(name); \
+ descriptor.offsetof_counter = type::offsetof_counter(); \
+ descriptor.destroy = type::DirectDestroy; \
+ RETURN_IF_ERROR(iree_vm_ref_register_type(&descriptor)) \
<< "Failed to register type " << name;
namespace iree {
@@ -62,8 +61,7 @@
StatusOr<vm::ref<Buffer>> Buffer::Allocate(size_t byte_length,
iree_allocator_t allocator) {
void* data = nullptr;
- RETURN_IF_ERROR(FromApiStatus(
- iree_allocator_malloc(allocator, byte_length, &data), IREE_LOC))
+ RETURN_IF_ERROR(iree_allocator_malloc(allocator, byte_length, &data))
<< "Failed to allocate buffer of size " << byte_length;
auto buffer = vm::assign_ref(new Buffer());
diff --git a/iree/modules/check/check_module_main.cc b/iree/modules/check/check_module_main.cc
index 3e1f218..3929e30 100644
--- a/iree/modules/check/check_module_main.cc
+++ b/iree/modules/check/check_module_main.cc
@@ -82,11 +82,9 @@
StatusOr<int> Run(std::string input_file_path) {
IREE_TRACE_SCOPE0("iree-check-module");
- RETURN_IF_ERROR(FromApiStatus(iree_hal_module_register_types(), IREE_LOC))
- << "registering HAL types";
+ RETURN_IF_ERROR(iree_hal_module_register_types()) << "registering HAL types";
iree_vm_instance_t* instance = nullptr;
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_instance_create(iree_allocator_system(), &instance), IREE_LOC))
+ RETURN_IF_ERROR(iree_vm_instance_create(iree_allocator_system(), &instance))
<< "creating instance";
std::string module_data;
@@ -114,11 +112,9 @@
++ordinal) {
iree_vm_function_t function;
iree_string_view_t export_name_sv;
- RETURN_IF_ERROR(
- FromApiStatus(iree_vm_module_lookup_function_by_ordinal(
- input_module, IREE_VM_FUNCTION_LINKAGE_EXPORT,
- ordinal, &function, &export_name_sv),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_vm_module_lookup_function_by_ordinal(
+ input_module, IREE_VM_FUNCTION_LINKAGE_EXPORT, ordinal, &function,
+ &export_name_sv))
<< "Looking up function export " << ordinal;
// TODO(gcmn): Implicit conversion from iree to absl string view.
diff --git a/iree/modules/check/check_test.cc b/iree/modules/check/check_test.cc
index 146b2e5..7b5b998 100644
--- a/iree/modules/check/check_test.cc
+++ b/iree/modules/check/check_test.cc
@@ -20,11 +20,11 @@
#include "iree/base/api_util.h"
#include "iree/base/logging.h"
#include "iree/base/status.h"
-#include "iree/testing/status_matchers.h"
#include "iree/hal/api.h"
#include "iree/modules/check/native_module.h"
#include "iree/modules/hal/hal_module.h"
#include "iree/testing/gtest.h"
+#include "iree/testing/status_matchers.h"
#include "iree/vm/api.h"
#include "iree/vm/bytecode_module.h"
#include "iree/vm/ref_cc.h"
@@ -47,7 +47,8 @@
iree_hal_module_create(device_, iree_allocator_system(), &hal_module_));
iree_hal_driver_release(hal_driver);
- IREE_ASSERT_OK(iree_vm_instance_create(iree_allocator_system(), &instance_));
+ IREE_ASSERT_OK(
+ iree_vm_instance_create(iree_allocator_system(), &instance_));
IREE_ASSERT_OK(
check_native_module_create(iree_allocator_system(), &check_module_))
@@ -125,10 +126,10 @@
static_cast<const void*>(contents.data()),
mapped_memory.contents.data_length);
IREE_ASSERT_OK(iree_hal_buffer_unmap(buffer.get(), &mapped_memory));
- IREE_ASSERT_OK(
- iree_hal_buffer_view_create(buffer.get(), shape.data(), shape.size(),
- IREE_HAL_ELEMENT_TYPE_FLOAT_32,
- iree_allocator_system(), &*out_buffer_view));
+ IREE_ASSERT_OK(iree_hal_buffer_view_create(
+ buffer.get(), shape.data(), shape.size(),
+ IREE_HAL_ELEMENT_TYPE_FLOAT_32, iree_allocator_system(),
+ &*out_buffer_view));
}
void CreateFloat64BufferView(absl::Span<const double> contents,
@@ -154,52 +155,42 @@
static_cast<const void*>(contents.data()),
mapped_memory.contents.data_length);
IREE_ASSERT_OK(iree_hal_buffer_unmap(buffer.get(), &mapped_memory));
- IREE_ASSERT_OK(
- iree_hal_buffer_view_create(buffer.get(), shape.data(), shape.size(),
- IREE_HAL_ELEMENT_TYPE_FLOAT_64,
- iree_allocator_system(), &*out_buffer_view));
+ IREE_ASSERT_OK(iree_hal_buffer_view_create(
+ buffer.get(), shape.data(), shape.size(),
+ IREE_HAL_ELEMENT_TYPE_FLOAT_64, iree_allocator_system(),
+ &*out_buffer_view));
}
Status Invoke(absl::string_view function_name) {
iree_vm_function_t function;
- RETURN_IF_ERROR(FromApiStatus(
- check_module_->lookup_function(
- check_module_->self, IREE_VM_FUNCTION_LINKAGE_EXPORT,
- iree_string_view_t{function_name.data(), function_name.size()},
- &function),
- IREE_LOC))
+ RETURN_IF_ERROR(check_module_->lookup_function(
+ check_module_->self, IREE_VM_FUNCTION_LINKAGE_EXPORT,
+ iree_string_view_t{function_name.data(), function_name.size()},
+ &function))
<< "Exported function '" << function_name << "' not found";
// TODO(#2075): don't directly invoke native functions like this.
- return FromApiStatus(
- iree_vm_invoke(context_, function,
- /*policy=*/nullptr, inputs_.get(),
- /*outputs=*/nullptr, iree_allocator_system()),
- IREE_LOC);
+ return iree_vm_invoke(context_, function,
+ /*policy=*/nullptr, inputs_.get(),
+ /*outputs=*/nullptr, iree_allocator_system());
}
Status Invoke(absl::string_view function_name,
std::vector<iree_vm_value> args) {
- RETURN_IF_ERROR(
- FromApiStatus(iree_vm_list_create(/*element_type=*/nullptr, args.size(),
- iree_allocator_system(), &inputs_),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_vm_list_create(/*element_type=*/nullptr, args.size(),
+ iree_allocator_system(), &inputs_));
for (iree_vm_value& arg : args) {
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_list_push_value(inputs_.get(), &arg), IREE_LOC));
+ RETURN_IF_ERROR(iree_vm_list_push_value(inputs_.get(), &arg));
}
return Invoke(function_name);
}
Status Invoke(absl::string_view function_name,
std::vector<vm::ref<iree_hal_buffer_view_t>> args) {
- RETURN_IF_ERROR(
- FromApiStatus(iree_vm_list_create(/*element_type=*/nullptr, args.size(),
- iree_allocator_system(), &inputs_),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_vm_list_create(/*element_type=*/nullptr, args.size(),
+ iree_allocator_system(), &inputs_));
for (auto& arg : args) {
iree_vm_ref_t arg_ref = iree_hal_buffer_view_move_ref(arg.get());
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_list_push_ref_retain(inputs_.get(), &arg_ref), IREE_LOC));
+ RETURN_IF_ERROR(iree_vm_list_push_ref_retain(inputs_.get(), &arg_ref));
}
return Invoke(function_name);
}
diff --git a/iree/modules/check/native_module.cc b/iree/modules/check/native_module.cc
index 5e7bb09..665b281 100644
--- a/iree/modules/check/native_module.cc
+++ b/iree/modules/check/native_module.cc
@@ -56,9 +56,7 @@
&result_str[0], &actual_length);
result_str.resize(actual_length);
} while (iree_status_is_out_of_range(status));
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC);
- }
+ RETURN_IF_ERROR(std::move(status));
return std::move(result_str);
}
@@ -113,10 +111,8 @@
}
}
char element_type_str[16];
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_format_element_type(element_type, sizeof(element_type_str),
- element_type_str, nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_format_element_type(
+ element_type, sizeof(element_type_str), element_type_str, nullptr));
return InvalidArgumentErrorBuilder(IREE_LOC)
<< "Unsupported element type " << element_type_str;
}
@@ -154,10 +150,8 @@
}
}
char element_type_str[16];
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_format_element_type(element_type, sizeof(element_type_str),
- element_type_str, nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_format_element_type(
+ element_type, sizeof(element_type_str), element_type_str, nullptr));
return InvalidArgumentErrorBuilder(IREE_LOC)
<< "Unsupported element type " << element_type_str;
}
@@ -190,10 +184,9 @@
iree_hal_buffer_view_element_type(view);
iree_hal_buffer_t* buf = iree_hal_buffer_view_buffer(view);
iree_hal_mapped_memory_t mapped_memory;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_map(buf, IREE_HAL_MEMORY_ACCESS_READ, /*byte_offset=*/0,
- IREE_WHOLE_BUFFER, &mapped_memory),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_map(buf, IREE_HAL_MEMORY_ACCESS_READ,
+ /*byte_offset=*/0, IREE_WHOLE_BUFFER,
+ &mapped_memory));
RETURN_IF_ERROR(
::iree::ExpectAllTrue(mapped_memory.contents, element_type));
iree_hal_buffer_unmap(buf, &mapped_memory);
@@ -206,15 +199,13 @@
auto* rhs = rhs_ref.get();
size_t lhs_rank = iree_hal_buffer_view_shape_rank(lhs);
absl::InlinedVector<int32_t, 6> lhs_shape(lhs_rank);
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_shape(lhs, lhs_rank, lhs_shape.data(), nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(
+ iree_hal_buffer_view_shape(lhs, lhs_rank, lhs_shape.data(), nullptr));
size_t rhs_rank = iree_hal_buffer_view_shape_rank(rhs);
absl::InlinedVector<int32_t, 6> rhs_shape(rhs_rank);
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_shape(rhs, rhs_rank, rhs_shape.data(), nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(
+ iree_hal_buffer_view_shape(rhs, rhs_rank, rhs_shape.data(), nullptr));
iree_hal_element_type_t lhs_element_type =
iree_hal_buffer_view_element_type(lhs);
@@ -223,18 +214,14 @@
iree_hal_buffer_t* lhs_buf = iree_hal_buffer_view_buffer(lhs);
iree_hal_mapped_memory_t lhs_mapped_memory;
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_buffer_map(lhs_buf, IREE_HAL_MEMORY_ACCESS_READ,
- /*byte_offset=*/0, IREE_WHOLE_BUFFER,
- &lhs_mapped_memory),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_map(lhs_buf, IREE_HAL_MEMORY_ACCESS_READ,
+ /*byte_offset=*/0, IREE_WHOLE_BUFFER,
+ &lhs_mapped_memory));
iree_hal_buffer_t* rhs_buf = iree_hal_buffer_view_buffer(rhs);
iree_hal_mapped_memory_t rhs_mapped_memory;
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_buffer_map(rhs_buf, IREE_HAL_MEMORY_ACCESS_READ,
- /*byte_offset=*/0, IREE_WHOLE_BUFFER,
- &rhs_mapped_memory),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_map(rhs_buf, IREE_HAL_MEMORY_ACCESS_READ,
+ /*byte_offset=*/0, IREE_WHOLE_BUFFER,
+ &rhs_mapped_memory));
bool element_types_eq = lhs_element_type == rhs_element_type;
bool shape_eq = lhs_shape == rhs_shape;
@@ -281,15 +268,13 @@
auto* rhs = rhs_ref.get();
size_t lhs_rank = iree_hal_buffer_view_shape_rank(lhs);
absl::InlinedVector<int32_t, 6> lhs_shape(lhs_rank);
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_shape(lhs, lhs_rank, lhs_shape.data(), nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(
+ iree_hal_buffer_view_shape(lhs, lhs_rank, lhs_shape.data(), nullptr));
size_t rhs_rank = iree_hal_buffer_view_shape_rank(rhs);
absl::InlinedVector<int32_t, 6> rhs_shape(rhs_rank);
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_shape(rhs, rhs_rank, rhs_shape.data(), nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(
+ iree_hal_buffer_view_shape(rhs, rhs_rank, rhs_shape.data(), nullptr));
iree_hal_element_type_t lhs_element_type =
iree_hal_buffer_view_element_type(lhs);
@@ -298,18 +283,14 @@
iree_hal_buffer_t* lhs_buf = iree_hal_buffer_view_buffer(lhs);
iree_hal_mapped_memory_t lhs_mapped_memory;
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_buffer_map(lhs_buf, IREE_HAL_MEMORY_ACCESS_READ,
- /*byte_offset=*/0, IREE_WHOLE_BUFFER,
- &lhs_mapped_memory),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_map(lhs_buf, IREE_HAL_MEMORY_ACCESS_READ,
+ /*byte_offset=*/0, IREE_WHOLE_BUFFER,
+ &lhs_mapped_memory));
iree_hal_buffer_t* rhs_buf = iree_hal_buffer_view_buffer(rhs);
iree_hal_mapped_memory_t rhs_mapped_memory;
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_buffer_map(rhs_buf, IREE_HAL_MEMORY_ACCESS_READ,
- /*byte_offset=*/0, IREE_WHOLE_BUFFER,
- &rhs_mapped_memory),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_map(rhs_buf, IREE_HAL_MEMORY_ACCESS_READ,
+ /*byte_offset=*/0, IREE_WHOLE_BUFFER,
+ &rhs_mapped_memory));
bool element_types_eq = lhs_element_type == rhs_element_type;
bool shape_eq = lhs_shape == rhs_shape;
diff --git a/iree/modules/hal/hal_module.cc b/iree/modules/hal/hal_module.cc
index 4c99b95..b296e5a 100644
--- a/iree/modules/hal/hal_module.cc
+++ b/iree/modules/hal/hal_module.cc
@@ -139,10 +139,8 @@
IREE_TRACE_SCOPE0("HALModuleState::ExSubmitAndWait");
vm::ref<iree_hal_semaphore_t> semaphore;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_semaphore_create(device.get(), 0ull, iree_allocator_system(),
- &semaphore),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_semaphore_create(
+ device.get(), 0ull, iree_allocator_system(), &semaphore));
iree_hal_submission_batch_t batch;
memset(&batch, 0, sizeof(batch));
@@ -154,15 +152,11 @@
batch.signal_semaphores.semaphores = semaphore_ptrs;
uint64_t signal_value = 1ull;
batch.signal_semaphores.payload_values = &signal_value;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_device_queue_submit(
- device.get(), IREE_HAL_COMMAND_CATEGORY_ANY, 0, 1, &batch),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_device_queue_submit(
+ device.get(), IREE_HAL_COMMAND_CATEGORY_ANY, 0, 1, &batch));
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_semaphore_wait_with_deadline(
- semaphore.get(), 1ull, IREE_TIME_INFINITE_FUTURE),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_semaphore_wait_with_deadline(
+ semaphore.get(), 1ull, IREE_TIME_INFINITE_FUTURE));
for (auto& ref : deferred_releases_) {
iree_vm_ref_release(&ref);
@@ -180,11 +174,9 @@
vm::ref<iree_hal_allocator_t> allocator, absl::Span<const int32_t> shape,
iree_hal_element_type_t element_type) {
iree_device_size_t allocation_size = 0;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_allocator_compute_size(allocator.get(), shape.data(),
- shape.size(), element_type,
- &allocation_size),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_allocator_compute_size(
+ allocator.get(), shape.data(), shape.size(), element_type,
+ &allocation_size));
return static_cast<int32_t>(allocation_size);
}
@@ -192,11 +184,9 @@
vm::ref<iree_hal_allocator_t> allocator, absl::Span<const int32_t> shape,
iree_hal_element_type_t element_type, absl::Span<const int32_t> indices) {
iree_device_size_t offset = 0;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_allocator_compute_offset(
- allocator.get(), shape.data(), shape.size(), element_type,
- indices.data(), indices.size(), &offset),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_allocator_compute_offset(
+ allocator.get(), shape.data(), shape.size(), element_type,
+ indices.data(), indices.size(), &offset));
return static_cast<int32_t>(offset);
}
@@ -207,12 +197,10 @@
absl::Span<const int32_t> lengths) {
iree_device_size_t offset = 0;
iree_device_size_t length = 0;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_allocator_compute_range(
- allocator.get(), shape.data(), shape.size(), element_type,
- start_indices.data(), start_indices.size(), lengths.data(),
- lengths.size(), &offset, &length),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_allocator_compute_range(
+ allocator.get(), shape.data(), shape.size(), element_type,
+ start_indices.data(), start_indices.size(), lengths.data(),
+ lengths.size(), &offset, &length));
return std::make_tuple(static_cast<int32_t>(offset),
static_cast<int32_t>(length));
}
@@ -223,10 +211,8 @@
int32_t allocation_size) {
IREE_TRACE_SCOPE0("HALModuleState::AllocatorAllocate");
vm::ref<iree_hal_buffer_t> buffer;
- RETURN_IF_ERROR(FromApiStatus(iree_hal_allocator_allocate_buffer(
- allocator.get(), memory_types,
- buffer_usage, allocation_size, &buffer),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_allocator_allocate_buffer(
+ allocator.get(), memory_types, buffer_usage, allocation_size, &buffer));
return std::move(buffer);
}
@@ -238,27 +224,21 @@
IREE_TRACE_SCOPE0("HALModuleState::AllocatorAllocateConst");
iree_device_size_t allocation_size = 0;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_allocator_compute_size(allocator.get(), shape.data(),
- shape.size(), element_type,
- &allocation_size),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_allocator_compute_size(
+ allocator.get(), shape.data(), shape.size(), element_type,
+ &allocation_size));
if (allocation_size < value->data.data_length) {
return InvalidArgumentErrorBuilder(IREE_LOC)
<< "Constant data is too large for the minimum allocation size";
}
vm::ref<iree_hal_buffer_t> buffer;
- RETURN_IF_ERROR(FromApiStatus(iree_hal_allocator_allocate_buffer(
- allocator.get(), memory_types,
- buffer_usage, allocation_size, &buffer),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_hal_allocator_allocate_buffer(
+ allocator.get(), memory_types, buffer_usage, allocation_size, &buffer))
<< "Failed to allocate buffer";
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_write_data(buffer.get(), 0, value->data.data,
- value->data.data_length),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_hal_buffer_write_data(
+ buffer.get(), 0, value->data.data, value->data.data_length))
<< "Writing constant data";
return buffer;
@@ -320,10 +300,8 @@
<< "Length " << length << " exceeds max";
}
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_read_data(source_buffer.get(), source_offset,
- &target_buffer, length),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_hal_buffer_read_data(
+ source_buffer.get(), source_offset, &target_buffer, length))
<< "Read failed";
return target_buffer;
}
@@ -340,10 +318,8 @@
<< "Length " << length << " exceeds max";
}
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_buffer_write_data(target_buffer.get(),
- target_offset, &value, length),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_hal_buffer_write_data(target_buffer.get(),
+ target_offset, &value, length))
<< "Write failed";
return OkStatus();
}
@@ -356,10 +332,9 @@
vm::ref<iree_hal_buffer_t> buffer, absl::Span<const int32_t> shape,
iree_hal_element_type_t element_type) {
vm::ref<iree_hal_buffer_view_t> buffer_view;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_create(buffer.get(), shape.data(), shape.size(),
- element_type, allocator_, &buffer_view),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_hal_buffer_view_create(buffer.get(), shape.data(),
+ shape.size(), element_type,
+ allocator_, &buffer_view))
<< "Failed to create buffer view";
return std::move(buffer_view);
}
@@ -368,11 +343,9 @@
vm::ref<iree_hal_buffer_view_t> buffer_view,
absl::Span<const int32_t> indices, absl::Span<const int32_t> lengths) {
vm::ref<iree_hal_buffer_view_t> new_buffer_view;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_subview(
- buffer_view.get(), indices.data(), indices.size(), lengths.data(),
- lengths.size(), allocator_, &new_buffer_view),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_hal_buffer_view_subview(
+ buffer_view.get(), indices.data(), indices.size(), lengths.data(),
+ lengths.size(), allocator_, &new_buffer_view))
<< "Failed to create subview";
return std::move(new_buffer_view);
}
@@ -391,10 +364,8 @@
vm::ref<iree_hal_buffer_view_t> buffer_view,
absl::Span<const int32_t> indices) {
iree_device_size_t offset = 0;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_compute_offset(buffer_view.get(), indices.data(),
- indices.size(), &offset),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_view_compute_offset(
+ buffer_view.get(), indices.data(), indices.size(), &offset));
return offset;
}
@@ -404,11 +375,9 @@
absl::Span<const int32_t> lengths) {
iree_device_size_t start_offset = 0;
iree_device_size_t subspan_length = 0;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_compute_range(
- buffer_view.get(), start_indices.data(), start_indices.size(),
- lengths.data(), lengths.size(), &start_offset, &subspan_length),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_view_compute_range(
+ buffer_view.get(), start_indices.data(), start_indices.size(),
+ lengths.data(), lengths.size(), &start_offset, &subspan_length));
return std::make_tuple<int32_t, int32_t>(
static_cast<int32_t>(start_offset),
static_cast<int32_t>(subspan_length));
@@ -431,9 +400,8 @@
vm::ref<iree_hal_buffer_view_t> buffer_view) {
std::array<int32_t, N> value;
iree_host_size_t rank = 0;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_shape(buffer_view.get(), N, value.data(), &rank),
- IREE_LOC));
+ RETURN_IF_ERROR(
+ iree_hal_buffer_view_shape(buffer_view.get(), N, value.data(), &rank));
return value;
}
@@ -472,9 +440,7 @@
&result_str[0], &actual_length);
result_str.resize(actual_length);
} while (iree_status_is_out_of_range(status));
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC);
- }
+ RETURN_IF_ERROR(std::move(status));
fprintf(stderr, "%s\n", result_str.c_str());
}
fprintf(stderr, "\n");
@@ -491,26 +457,23 @@
IREE_TRACE_SCOPE0("HALModuleState::CommandBufferCreate");
vm::ref<iree_hal_command_buffer_t> command_buffer;
- RETURN_IF_ERROR(FromApiStatus(iree_hal_command_buffer_create(
- device.get(), modes, command_categories,
- iree_allocator_system(), &command_buffer),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_hal_command_buffer_create(
+ device.get(), modes, command_categories, iree_allocator_system(),
+ &command_buffer))
<< "Failed to create command buffer";
return command_buffer;
}
Status CommandBufferBegin(vm::ref<iree_hal_command_buffer_t> command_buffer) {
IREE_TRACE_SCOPE0("HALModuleState::CommandBufferBegin");
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_command_buffer_begin(command_buffer.get()), IREE_LOC))
+ RETURN_IF_ERROR(iree_hal_command_buffer_begin(command_buffer.get()))
<< "Failed to begin command buffer recording";
return OkStatus();
}
Status CommandBufferEnd(vm::ref<iree_hal_command_buffer_t> command_buffer) {
IREE_TRACE_SCOPE0("HALModuleState::CommandBufferEnd");
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_command_buffer_end(command_buffer.get()), IREE_LOC))
+ RETURN_IF_ERROR(iree_hal_command_buffer_end(command_buffer.get()))
<< "Failed to end command buffer recording";
return OkStatus();
}
@@ -527,11 +490,9 @@
iree_hal_memory_barrier_t global_barrier;
global_barrier.source_scope = IREE_HAL_ACCESS_SCOPE_DISPATCH_WRITE;
global_barrier.target_scope = IREE_HAL_ACCESS_SCOPE_DISPATCH_READ;
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_command_buffer_execution_barrier(
- command_buffer.get(), source_stage_mask,
- target_stage_mask, 1, &global_barrier, 0, nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_command_buffer_execution_barrier(
+ command_buffer.get(), source_stage_mask, target_stage_mask, 1,
+ &global_barrier, 0, nullptr));
return OkStatus();
}
@@ -540,11 +501,9 @@
vm::ref<iree_hal_buffer_t> target_buffer, int32_t target_offset,
int32_t length, uint32_t pattern) {
IREE_TRACE_SCOPE0("HALModuleState::CommandBufferFillBuffer");
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_command_buffer_fill_buffer(command_buffer.get(),
- target_buffer.get(), target_offset,
- length, &pattern, sizeof(pattern)),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_command_buffer_fill_buffer(
+ command_buffer.get(), target_buffer.get(), target_offset, length,
+ &pattern, sizeof(pattern)));
return OkStatus();
}
@@ -554,11 +513,9 @@
vm::ref<iree_hal_buffer_t> target_buffer, int32_t target_offset,
int32_t length) {
IREE_TRACE_SCOPE0("HALModuleState::CommandBufferCopyBuffer");
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_command_buffer_copy_buffer(
- command_buffer.get(), source_buffer.get(), source_offset,
- target_buffer.get(), target_offset, length),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_command_buffer_copy_buffer(
+ command_buffer.get(), source_buffer.get(), source_offset,
+ target_buffer.get(), target_offset, length));
return OkStatus();
}
@@ -567,11 +524,9 @@
vm::ref<iree_hal_executable_layout_t> executable_layout, uint32_t offset,
absl::Span<const uint32_t> values) {
IREE_TRACE_SCOPE0("HALModuleState::CommandBufferPushConstants");
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_command_buffer_push_constants(
- command_buffer.get(), executable_layout.get(), offset,
- values.data(), values.size() * sizeof(uint32_t)),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_command_buffer_push_constants(
+ command_buffer.get(), executable_layout.get(), offset, values.data(),
+ values.size() * sizeof(uint32_t)));
return OkStatus();
}
@@ -593,11 +548,9 @@
deferred_releases_.push_back(
iree_hal_buffer_retain_ref(binding_buffers[i].get()));
}
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_command_buffer_push_descriptor_set(
- command_buffer.get(), executable_layout.get(), set,
- binding_structs.size(), binding_structs.data()),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_command_buffer_push_descriptor_set(
+ command_buffer.get(), executable_layout.get(), set,
+ binding_structs.size(), binding_structs.data()));
return OkStatus();
}
@@ -613,12 +566,10 @@
dynamic_offset_values[i] =
static_cast<iree_device_size_t>(dynamic_offsets[i]);
}
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_command_buffer_bind_descriptor_set(
- command_buffer.get(), executable_layout.get(), set,
- descriptor_set.get(), dynamic_offset_values.size(),
- dynamic_offset_values.data()),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_command_buffer_bind_descriptor_set(
+ command_buffer.get(), executable_layout.get(), set,
+ descriptor_set.get(), dynamic_offset_values.size(),
+ dynamic_offset_values.data()));
return OkStatus();
}
@@ -627,11 +578,9 @@
vm::ref<iree_hal_executable_t> executable, int32_t entry_point,
uint32_t workgroup_x, uint32_t workgroup_y, uint32_t workgroup_z) {
IREE_TRACE_SCOPE0("HALModuleState::CommandBufferDispatch");
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_command_buffer_dispatch(command_buffer.get(), executable.get(),
- entry_point, workgroup_x, workgroup_y,
- workgroup_z),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_command_buffer_dispatch(
+ command_buffer.get(), executable.get(), entry_point, workgroup_x,
+ workgroup_y, workgroup_z));
return OkStatus();
}
@@ -640,11 +589,9 @@
vm::ref<iree_hal_executable_t> executable, int32_t entry_point,
vm::ref<iree_hal_buffer_t> workgroups_buffer, int32_t workgroups_offset) {
IREE_TRACE_SCOPE0("HALModuleState::CommandBufferDispatchIndirect");
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_command_buffer_dispatch_indirect(
- command_buffer.get(), executable.get(), entry_point,
- workgroups_buffer.get(), workgroups_offset),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_command_buffer_dispatch_indirect(
+ command_buffer.get(), executable.get(), entry_point,
+ workgroups_buffer.get(), workgroups_offset));
return OkStatus();
}
@@ -670,11 +617,9 @@
static_cast<iree_device_size_t>(binding_lengths[i])}; // length
}
vm::ref<iree_hal_descriptor_set_t> descriptor_set;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_descriptor_set_create(
- device.get(), set_layout.get(), binding_structs.size(),
- binding_structs.data(), allocator_, &descriptor_set),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_descriptor_set_create(
+ device.get(), set_layout.get(), binding_structs.size(),
+ binding_structs.data(), allocator_, &descriptor_set));
return std::move(descriptor_set);
}
@@ -697,11 +642,9 @@
std::get<2>(bindings[i])};
}
vm::ref<iree_hal_descriptor_set_layout_t> descriptor_set_layout;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_descriptor_set_layout_create(
- device.get(), usage_type, binding_structs.size(),
- binding_structs.data(), allocator_, &descriptor_set_layout),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_descriptor_set_layout_create(
+ device.get(), usage_type, binding_structs.size(),
+ binding_structs.data(), allocator_, &descriptor_set_layout));
return std::move(descriptor_set_layout);
}
@@ -731,12 +674,9 @@
vm::ref<iree_hal_device_t> device, absl::string_view identifier) {
IREE_TRACE_SCOPE0("HALModuleState::ExecutableCacheCreate");
vm::ref<iree_hal_executable_cache_t> executable_cache;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_executable_cache_create(
- device.get(),
- iree_string_view_t{identifier.data(), identifier.size()},
- allocator_, &executable_cache),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_executable_cache_create(
+ device.get(), iree_string_view_t{identifier.data(), identifier.size()},
+ allocator_, &executable_cache));
return std::move(executable_cache);
}
@@ -760,11 +700,9 @@
vm::ref<iree_vm_ro_byte_buffer_t> executable_data) {
IREE_TRACE_SCOPE0("HALModuleState::ExecutableCachePrepare");
vm::ref<iree_hal_executable_t> executable;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_executable_cache_prepare_executable(
- executable_cache.get(), executable_layout.get(), caching_mode,
- executable_data->data, allocator_, &executable),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_executable_cache_prepare_executable(
+ executable_cache.get(), executable_layout.get(), caching_mode,
+ executable_data->data, allocator_, &executable));
return std::move(executable);
}
@@ -778,14 +716,12 @@
int32_t push_constants) {
IREE_TRACE_SCOPE0("HALModuleState::ExecutableLayoutCreate");
vm::ref<iree_hal_executable_layout_t> executable_layout;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_executable_layout_create(
- device.get(), set_layouts.size(),
- reinterpret_cast<iree_hal_descriptor_set_layout_t**>(
- const_cast<vm::ref<iree_hal_descriptor_set_layout_t>*>(
- set_layouts.data())),
- push_constants, allocator_, &executable_layout),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_executable_layout_create(
+ device.get(), set_layouts.size(),
+ reinterpret_cast<iree_hal_descriptor_set_layout_t**>(
+ const_cast<vm::ref<iree_hal_descriptor_set_layout_t>*>(
+ set_layouts.data())),
+ push_constants, allocator_, &executable_layout));
return std::move(executable_layout);
}
@@ -797,10 +733,8 @@
vm::ref<iree_hal_device_t> device, uint32_t initial_value) {
IREE_TRACE_SCOPE0("HALModuleState::SemaphoreCreate");
vm::ref<iree_hal_semaphore_t> semaphore;
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_semaphore_create(device.get(), initial_value,
- allocator_, &semaphore),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_semaphore_create(device.get(), initial_value,
+ allocator_, &semaphore));
return std::move(semaphore);
}
@@ -816,8 +750,7 @@
Status SemaphoreSignal(vm::ref<iree_hal_semaphore_t> semaphore,
uint32_t new_value) {
IREE_TRACE_SCOPE0("HALModuleState::SemaphoreSignal");
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_semaphore_signal(semaphore.get(), new_value), IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_semaphore_signal(semaphore.get(), new_value));
return OkStatus();
}
@@ -833,12 +766,11 @@
StatusOr<int32_t> SemaphoreAwait(vm::ref<iree_hal_semaphore_t> semaphore,
uint32_t new_value) {
IREE_TRACE_SCOPE0("HALModuleState::SemaphoreAwait");
- iree_status_t wait_status = iree_hal_semaphore_wait_with_deadline(
- semaphore.get(), new_value, IREE_TIME_INFINITE_FUTURE);
// TODO(benvanik): allow for deadline exceeded returns? We don't allow
// setting deadlines now (and when we do in the future it'll be the fiber
// manager that handles them), so any failure indicates total failure.
- return FromApiStatus(wait_status, IREE_LOC);
+ return iree_hal_semaphore_wait_with_deadline(semaphore.get(), new_value,
+ IREE_TIME_INFINITE_FUTURE);
}
private:
diff --git a/iree/modules/strings/strings_module.cc b/iree/modules/strings/strings_module.cc
index 0578c08..5cff78f 100644
--- a/iree/modules/strings/strings_module.cc
+++ b/iree/modules/strings/strings_module.cc
@@ -58,10 +58,8 @@
StatusOr<vm::ref<strings_string_t>> I32ToString(int32_t value) {
vm::ref<strings_string_t> new_string;
std::string str = std::to_string(value);
- RETURN_IF_ERROR(
- FromApiStatus(strings_string_create(iree_make_cstring_view(str.c_str()),
- allocator_, &new_string),
- IREE_LOC));
+ RETURN_IF_ERROR(strings_string_create(iree_make_cstring_view(str.c_str()),
+ allocator_, &new_string));
return new_string;
}
@@ -117,10 +115,8 @@
StringTensorToStringHelper(str_tensor->values, str_tensor->shape,
str_tensor->rank, &str);
- RETURN_IF_ERROR(
- FromApiStatus(strings_string_create(iree_make_cstring_view(str.c_str()),
- allocator_, &new_string),
- IREE_LOC));
+ RETURN_IF_ERROR(strings_string_create(iree_make_cstring_view(str.c_str()),
+ allocator_, &new_string));
return new_string;
}
@@ -129,10 +125,8 @@
vm::ref<iree_hal_buffer_view_t> hal_buffer_view) {
const size_t rank = iree_hal_buffer_view_shape_rank(hal_buffer_view.get());
absl::InlinedVector<int32_t, 6> shape(rank);
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_buffer_view_shape(hal_buffer_view.get(), rank,
- shape.data(), nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_view_shape(hal_buffer_view.get(), rank,
+ shape.data(), nullptr));
size_t num_elements = 1;
for (auto val : shape) {
@@ -146,10 +140,9 @@
iree_hal_buffer_t* hal_buffer =
iree_hal_buffer_view_buffer(hal_buffer_view.get());
iree_hal_mapped_memory_t tensor_mapping;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_map(hal_buffer, IREE_HAL_MEMORY_ACCESS_READ,
- /*byte_offset=*/0, tensor_size, &tensor_mapping),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_map(hal_buffer, IREE_HAL_MEMORY_ACCESS_READ,
+ /*byte_offset=*/0, tensor_size,
+ &tensor_mapping));
iree_hal_element_type_t type =
iree_hal_buffer_view_element_type(hal_buffer_view.get());
@@ -199,13 +192,11 @@
break;
default:
- return FromApiStatus(iree_make_status(IREE_STATUS_UNIMPLEMENTED),
- IREE_LOC);
+ return UnimplementedErrorBuilder(IREE_LOC);
}
// Unmap used buffer.
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_unmap(hal_buffer, &tensor_mapping), IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_unmap(hal_buffer, &tensor_mapping));
// Place into iree_string_views.
std::vector<iree_string_view_t> string_views;
@@ -216,11 +207,9 @@
}
strings_string_tensor_t* string_tensor;
- RETURN_IF_ERROR(FromApiStatus(
- strings_string_tensor_create(allocator_, string_views.data(),
- string_views.size(), shape.data(), rank,
- &string_tensor),
- IREE_LOC));
+ RETURN_IF_ERROR(strings_string_tensor_create(
+ allocator_, string_views.data(), string_views.size(), shape.data(),
+ rank, &string_tensor));
return string_tensor;
}
@@ -232,15 +221,13 @@
// The dict must be a simple list, and the indices must be integers.
if (dict->rank != 1 || iree_hal_buffer_view_element_type(ids.get()) !=
IREE_HAL_ELEMENT_TYPE_SINT_32) {
- return FromApiStatus(iree_make_status(IREE_STATUS_INVALID_ARGUMENT),
- IREE_LOC);
+ return InvalidArgumentErrorBuilder(IREE_LOC);
}
const size_t rank = iree_hal_buffer_view_shape_rank(ids.get());
absl::InlinedVector<int32_t, 6> shape(rank);
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_shape(ids.get(), rank, shape.data(), nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(
+ iree_hal_buffer_view_shape(ids.get(), rank, shape.data(), nullptr));
size_t num_elements = 1;
for (auto val : shape) {
@@ -252,10 +239,9 @@
size_t tensor_size = element_size * num_elements;
iree_hal_buffer_t* hal_buffer = iree_hal_buffer_view_buffer(ids.get());
iree_hal_mapped_memory_t tensor_mapping;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_map(hal_buffer, IREE_HAL_MEMORY_ACCESS_READ,
- /*byte_offset=*/0, tensor_size, &tensor_mapping),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_map(hal_buffer, IREE_HAL_MEMORY_ACCESS_READ,
+ /*byte_offset=*/0, tensor_size,
+ &tensor_mapping));
iree_string_view_t str;
const auto& contents = tensor_mapping.contents;
std::vector<iree_string_view_t> string_views;
@@ -264,21 +250,18 @@
for (int32_t *p = (int32_t*)contents.data,
*s = (int32_t*)(contents.data + contents.data_length);
p < s; p++) {
- RETURN_IF_ERROR(FromApiStatus(
- strings_string_tensor_get_element(dict.get(), p, 1, &str), IREE_LOC));
+ RETURN_IF_ERROR(
+ strings_string_tensor_get_element(dict.get(), p, 1, &str));
string_views.push_back(str);
}
// Unmap used buffer.
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_unmap(hal_buffer, &tensor_mapping), IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_unmap(hal_buffer, &tensor_mapping));
strings_string_tensor_t* string_tensor;
- RETURN_IF_ERROR(FromApiStatus(
- strings_string_tensor_create(allocator_, string_views.data(),
- string_views.size(), shape.data(), rank,
- &string_tensor),
- IREE_LOC));
+ RETURN_IF_ERROR(strings_string_tensor_create(
+ allocator_, string_views.data(), string_views.size(), shape.data(),
+ rank, &string_tensor));
return string_tensor;
}
@@ -315,11 +298,9 @@
}
strings_string_tensor_t* string_tensor;
- RETURN_IF_ERROR(FromApiStatus(
- strings_string_tensor_create(allocator_, string_views.data(),
- string_views.size(), shape, new_rank,
- &string_tensor),
- IREE_LOC));
+ RETURN_IF_ERROR(strings_string_tensor_create(
+ allocator_, string_views.data(), string_views.size(), shape, new_rank,
+ &string_tensor));
return string_tensor;
}
diff --git a/iree/modules/tensorlist/native_module.cc b/iree/modules/tensorlist/native_module.cc
index f11f511..6e43986 100644
--- a/iree/modules/tensorlist/native_module.cc
+++ b/iree/modules/tensorlist/native_module.cc
@@ -73,9 +73,8 @@
<< "expected rank > 0 buffer view";
}
absl::InlinedVector<int32_t, 6> shape(rank);
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_shape(tensor.get(), rank, shape.data(), nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(
+ iree_hal_buffer_view_shape(tensor.get(), rank, shape.data(), nullptr));
TensorList* list = new TensorList;
list->Resize(shape[0]);
@@ -89,25 +88,19 @@
start_indices[0] = i;
iree_device_size_t start_offset = 0;
iree_device_size_t subview_length = 0;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_compute_range(
- tensor.get(), start_indices.data(), start_indices.size(),
- lengths.data(), lengths.size(), &start_offset, &subview_length),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_view_compute_range(
+ tensor.get(), start_indices.data(), start_indices.size(),
+ lengths.data(), lengths.size(), &start_offset, &subview_length));
vm::ref<iree_hal_buffer_t> subview_buffer;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_subspan(iree_hal_buffer_view_buffer(tensor.get()),
- start_offset, subview_length,
- iree_allocator_system(), &subview_buffer),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_subspan(
+ iree_hal_buffer_view_buffer(tensor.get()), start_offset,
+ subview_length, iree_allocator_system(), &subview_buffer));
iree_hal_buffer_view_t* slice = nullptr;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_create(
- subview_buffer.get(), shape.data() + 1, shape.size() - 1,
- iree_hal_buffer_view_element_type(tensor.get()),
- iree_allocator_system(), &slice),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_view_create(
+ subview_buffer.get(), shape.data() + 1, shape.size() - 1,
+ iree_hal_buffer_view_element_type(tensor.get()),
+ iree_allocator_system(), &slice));
list->SetItem(i, slice);
}
return list;
@@ -129,17 +122,13 @@
iree_hal_element_type_t type =
iree_hal_buffer_view_element_type(GetItem(0).get());
absl::InlinedVector<int32_t, 6> shape(rank);
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_buffer_view_shape(GetItem(0).get(), rank,
- shape.data(), nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_view_shape(GetItem(0).get(), rank,
+ shape.data(), nullptr));
for (size_t i = 0; i < num_tensors; i++) {
size_t element_rank = iree_hal_buffer_view_shape_rank(GetItem(i).get());
absl::InlinedVector<int32_t, 6> element_shape(element_rank);
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_shape(GetItem(i).get(), element_rank,
- element_shape.data(), nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_view_shape(
+ GetItem(i).get(), element_rank, element_shape.data(), nullptr));
if (absl::MakeSpan(shape) != absl::MakeSpan(element_shape) ||
iree_hal_buffer_view_element_type(GetItem(i).get()) != type) {
return InvalidArgumentErrorBuilder(IREE_LOC)
@@ -159,17 +148,14 @@
size_t result_byte_size = num_result_elements * element_size;
iree_hal_allocator_t* hal_allocator = iree_hal_buffer_allocator(
iree_hal_buffer_view_buffer(GetItem(0).get()));
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_allocator_allocate_buffer(
- hal_allocator,
- static_cast<iree_hal_memory_type_t>(
- IREE_HAL_MEMORY_TYPE_HOST_LOCAL |
- IREE_HAL_MEMORY_TYPE_DEVICE_VISIBLE),
- IREE_HAL_BUFFER_USAGE_ALL, result_byte_size, &result_buffer),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_allocator_allocate_buffer(
+ hal_allocator,
+ static_cast<iree_hal_memory_type_t>(
+ IREE_HAL_MEMORY_TYPE_HOST_LOCAL |
+ IREE_HAL_MEMORY_TYPE_DEVICE_VISIBLE),
+ IREE_HAL_BUFFER_USAGE_ALL, result_byte_size, &result_buffer));
- RETURN_IF_ERROR(
- FromApiStatus(CopyTensorBytes(result_buffer.get()), IREE_LOC));
+ RETURN_IF_ERROR(CopyTensorBytes(result_buffer.get()));
absl::InlinedVector<int32_t, 4> result_shape;
result_shape.push_back(Size());
@@ -177,11 +163,9 @@
result_shape.push_back(dim);
}
vm::ref<iree_hal_buffer_view_t> result_view;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_create(result_buffer.get(), result_shape.data(),
- result_shape.size(), type,
- iree_allocator_system(), &result_view),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_view_create(
+ result_buffer.get(), result_shape.data(), result_shape.size(), type,
+ iree_allocator_system(), &result_view));
return std::move(result_view);
}
@@ -201,10 +185,8 @@
iree_hal_element_type_t type =
iree_hal_buffer_view_element_type(GetItem(0).get());
absl::InlinedVector<int32_t, 6> shape(rank);
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_buffer_view_shape(GetItem(0).get(), rank,
- shape.data(), nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_view_shape(GetItem(0).get(), rank,
+ shape.data(), nullptr));
size_t num_rows = 0;
for (size_t i = 0; i < num_tensors; i++) {
size_t element_rank = iree_hal_buffer_view_shape_rank(GetItem(i).get());
@@ -214,10 +196,8 @@
}
absl::InlinedVector<int32_t, 6> element_shape(element_rank);
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_shape(GetItem(i).get(), element_rank,
- element_shape.data(), nullptr),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_view_shape(
+ GetItem(i).get(), element_rank, element_shape.data(), nullptr));
num_rows += element_shape.front();
if (absl::MakeSpan(shape).subspan(1) !=
@@ -240,17 +220,14 @@
size_t result_byte_size = num_result_elements * element_size;
iree_hal_allocator_t* hal_allocator = iree_hal_buffer_allocator(
iree_hal_buffer_view_buffer(GetItem(0).get()));
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_allocator_allocate_buffer(
- hal_allocator,
- static_cast<iree_hal_memory_type_t>(
- IREE_HAL_MEMORY_TYPE_HOST_LOCAL |
- IREE_HAL_MEMORY_TYPE_DEVICE_VISIBLE),
- IREE_HAL_BUFFER_USAGE_ALL, result_byte_size, &result_buffer),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_allocator_allocate_buffer(
+ hal_allocator,
+ static_cast<iree_hal_memory_type_t>(
+ IREE_HAL_MEMORY_TYPE_HOST_LOCAL |
+ IREE_HAL_MEMORY_TYPE_DEVICE_VISIBLE),
+ IREE_HAL_BUFFER_USAGE_ALL, result_byte_size, &result_buffer));
- RETURN_IF_ERROR(
- FromApiStatus(CopyTensorBytes(result_buffer.get()), IREE_LOC));
+ RETURN_IF_ERROR(CopyTensorBytes(result_buffer.get()));
absl::InlinedVector<int32_t, 4> result_shape;
result_shape.push_back(num_rows);
@@ -258,11 +235,9 @@
result_shape.push_back(dim);
}
vm::ref<iree_hal_buffer_view_t> result_view;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_buffer_view_create(result_buffer.get(), result_shape.data(),
- result_shape.size(), type,
- iree_allocator_system(), &result_view),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_view_create(
+ result_buffer.get(), result_shape.data(), result_shape.size(), type,
+ iree_allocator_system(), &result_view));
return std::move(result_view);
}
@@ -359,13 +334,10 @@
}
iree_hal_buffer_t* buffer = iree_hal_buffer_view_buffer(buffer_view);
iree_hal_mapped_memory_t mapped_memory;
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_buffer_map(buffer, IREE_HAL_MEMORY_ACCESS_READ, 0,
- 4, &mapped_memory),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_map(buffer, IREE_HAL_MEMORY_ACCESS_READ, 0, 4,
+ &mapped_memory));
int32_t scalar = *reinterpret_cast<int32_t*>(mapped_memory.contents.data);
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_buffer_unmap(buffer, &mapped_memory), IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_buffer_unmap(buffer, &mapped_memory));
return scalar;
}
diff --git a/iree/samples/custom_modules/native_module.cc b/iree/samples/custom_modules/native_module.cc
index cc570da..1f1d052 100644
--- a/iree/samples/custom_modules/native_module.cc
+++ b/iree/samples/custom_modules/native_module.cc
@@ -135,16 +135,14 @@
Status Initialize(int32_t unique_id) {
// Allocate a unique ID to demonstrate per-context state.
auto str_buffer = "ctx_" + std::to_string(unique_id);
- RETURN_IF_ERROR(FromApiStatus(
+ RETURN_IF_ERROR(
iree_custom_message_create(iree_make_cstring_view(str_buffer.c_str()),
- allocator_, &unique_message_),
- IREE_LOC));
+ allocator_, &unique_message_));
// Setup a host-local allocator we can use because this sample doesn't have
// a real device allocator.
- RETURN_IF_ERROR(FromApiStatus(iree_hal_allocator_create_host_local(
- allocator_, &host_local_allocator_),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_allocator_create_host_local(
+ allocator_, &host_local_allocator_));
return OkStatus();
}
@@ -162,17 +160,13 @@
string_value.size() + 1, &string_value[0], &actual_length);
string_value.resize(actual_length);
} while (iree_status_is_out_of_range(status));
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC);
- }
+ RETURN_IF_ERROR(std::move(status));
// Pack the string contents into a message.
vm::ref<iree_custom_message_t> message;
- RETURN_IF_ERROR(FromApiStatus(
- iree_custom_message_create(
- iree_string_view_t{string_value.data(), string_value.size()},
- iree_allocator_system(), &message),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_custom_message_create(
+ iree_string_view_t{string_value.data(), string_value.size()},
+ iree_allocator_system(), &message));
return std::move(message);
}
@@ -183,13 +177,10 @@
auto input_string =
absl::string_view(message->value.data, message->value.size);
vm::ref<iree_hal_buffer_view_t> buffer_view;
- iree_status_t status = iree_hal_buffer_view_parse(
+ RETURN_IF_ERROR(iree_hal_buffer_view_parse(
iree_string_view_t{input_string.data(), input_string.size()},
- host_local_allocator_.get(), allocator_, &buffer_view);
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC)
- << "Parsing value '" << input_string << "'";
- }
+ host_local_allocator_.get(), allocator_, &buffer_view))
+ << "Parsing value '" << input_string << "'";
return std::move(buffer_view);
}
@@ -207,10 +198,8 @@
StatusOr<vm::ref<iree_custom_message_t>> Reverse(
vm::ref<iree_custom_message_t> message) {
vm::ref<iree_custom_message_t> reversed_message;
- RETURN_IF_ERROR(FromApiStatus(
- iree_custom_message_create(message->value, message->allocator,
- &reversed_message),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_custom_message_create(
+ message->value, message->allocator, &reversed_message));
char* str_ptr = const_cast<char*>(reversed_message->value.data);
for (int low = 0, high = reversed_message->value.size - 1; low < high;
++low, --high) {
diff --git a/iree/tools/benchmark_module_main.cc b/iree/tools/benchmark_module_main.cc
index fd59ed9..c100367 100644
--- a/iree/tools/benchmark_module_main.cc
+++ b/iree/tools/benchmark_module_main.cc
@@ -69,11 +69,9 @@
Status Run(::benchmark::State& state) {
IREE_TRACE_SCOPE0("iree-benchmark-module");
- RETURN_IF_ERROR(FromApiStatus(iree_hal_module_register_types(), IREE_LOC))
- << "registering HAL types";
+ RETURN_IF_ERROR(iree_hal_module_register_types()) << "registering HAL types";
iree_vm_instance_t* instance = nullptr;
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_instance_create(iree_allocator_system(), &instance), IREE_LOC))
+ RETURN_IF_ERROR(iree_vm_instance_create(iree_allocator_system(), &instance))
<< "creating instance";
ASSIGN_OR_RETURN(auto module_data, GetModuleContentsFromFlags());
@@ -88,20 +86,17 @@
iree_vm_context_t* context = nullptr;
// Order matters. The input module will likely be dependent on the hal module.
std::array<iree_vm_module_t*, 2> modules = {hal_module, input_module};
- RETURN_IF_ERROR(FromApiStatus(iree_vm_context_create_with_modules(
- instance, modules.data(), modules.size(),
- iree_allocator_system(), &context),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_vm_context_create_with_modules(
+ instance, modules.data(), modules.size(), iree_allocator_system(),
+ &context))
<< "creating context";
std::string function_name = absl::GetFlag(FLAGS_entry_function);
iree_vm_function_t function;
- RETURN_IF_ERROR(FromApiStatus(
- input_module->lookup_function(
- input_module->self, IREE_VM_FUNCTION_LINKAGE_EXPORT,
- iree_string_view_t{function_name.data(), function_name.size()},
- &function),
- IREE_LOC))
+ RETURN_IF_ERROR(input_module->lookup_function(
+ input_module->self, IREE_VM_FUNCTION_LINKAGE_EXPORT,
+ iree_string_view_t{function_name.data(), function_name.size()},
+ &function))
<< "looking up function '" << function_name << "'";
RETURN_IF_ERROR(ValidateFunctionAbi(function));
@@ -129,14 +124,12 @@
// future debugging.
{
vm::ref<iree_vm_list_t> outputs;
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_list_create(/*element_type=*/nullptr, output_descs.size(),
- iree_allocator_system(), &outputs),
- IREE_LOC));
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_invoke(context, function, /*policy=*/nullptr, inputs.get(),
- outputs.get(), iree_allocator_system()),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_vm_list_create(/*element_type=*/nullptr,
+ output_descs.size(),
+ iree_allocator_system(), &outputs));
+ RETURN_IF_ERROR(iree_vm_invoke(context, function, /*policy=*/nullptr,
+ inputs.get(), outputs.get(),
+ iree_allocator_system()));
}
for (auto _ : state) {
diff --git a/iree/tools/run_mlir_main.cc b/iree/tools/run_mlir_main.cc
index 1b45aa9..17db785 100644
--- a/iree/tools/run_mlir_main.cc
+++ b/iree/tools/run_mlir_main.cc
@@ -160,10 +160,8 @@
if (target_backends.empty()) {
iree_string_view_t* driver_names = nullptr;
iree_host_size_t driver_count = 0;
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_driver_registry_query_available_drivers(
- iree_allocator_system(), &driver_names, &driver_count),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_hal_driver_registry_query_available_drivers(
+ iree_allocator_system(), &driver_names, &driver_count));
for (int i = 0; i < driver_count; ++i) {
target_backends.push_back(
std::string(driver_names[i].data, driver_names[i].size));
@@ -296,16 +294,14 @@
ASSIGN_OR_RETURN(auto output_descs, ParseOutputSignature(function));
// Prepare outputs list to accept the results from the invocation.
vm::ref<iree_vm_list_t> outputs;
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_list_create(/*element_type=*/nullptr, output_descs.size(),
- iree_allocator_system(), &outputs),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_vm_list_create(/*element_type=*/nullptr,
+ output_descs.size(),
+ iree_allocator_system(), &outputs));
// Synchronously invoke the function.
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_invoke(context, function, /*policy=*/nullptr, inputs.get(),
- outputs.get(), iree_allocator_system()),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_vm_invoke(context, function, /*policy=*/nullptr,
+ inputs.get(), outputs.get(),
+ iree_allocator_system()));
// Print outputs.
RETURN_IF_ERROR(PrintVariantList(output_descs, outputs.get()));
@@ -343,11 +339,9 @@
auto run_function = [&](int ordinal) -> Status {
iree_vm_function_t function;
iree_string_view_t export_name_isv;
- RETURN_IF_ERROR(
- FromApiStatus(iree_vm_module_lookup_function_by_ordinal(
- bytecode_module, IREE_VM_FUNCTION_LINKAGE_EXPORT,
- ordinal, &function, &export_name_isv),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_vm_module_lookup_function_by_ordinal(
+ bytecode_module, IREE_VM_FUNCTION_LINKAGE_EXPORT, ordinal, &function,
+ &export_name_isv))
<< "Looking up function export " << ordinal;
absl::string_view export_name(export_name_isv.data, export_name_isv.size);
if (absl::StartsWith(export_name, "__") ||
@@ -362,10 +356,9 @@
// runner).
iree_vm_context_t* context = nullptr;
std::vector<iree_vm_module_t*> modules = {hal_module, bytecode_module};
- RETURN_IF_ERROR(FromApiStatus(iree_vm_context_create_with_modules(
- instance, modules.data(), modules.size(),
- iree_allocator_system(), &context),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_vm_context_create_with_modules(
+ instance, modules.data(), modules.size(), iree_allocator_system(),
+ &context))
<< "Creating context";
// Invoke the function and print results.
@@ -398,12 +391,10 @@
IREE_TRACE_SCOPE0("EvaluateFile");
// TODO(benvanik): move to instance-based registration.
- RETURN_IF_ERROR(FromApiStatus(iree_hal_module_register_types(), IREE_LOC))
- << "Registering HAL types";
+ RETURN_IF_ERROR(iree_hal_module_register_types()) << "Registering HAL types";
iree_vm_instance_t* instance = nullptr;
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_instance_create(iree_allocator_system(), &instance), IREE_LOC))
+ RETURN_IF_ERROR(iree_vm_instance_create(iree_allocator_system(), &instance))
<< "Create instance";
ASSIGN_OR_RETURN(auto target_backends, GetTargetBackends());
diff --git a/iree/tools/run_module_main.cc b/iree/tools/run_module_main.cc
index 35adf1b..348806a 100644
--- a/iree/tools/run_module_main.cc
+++ b/iree/tools/run_module_main.cc
@@ -71,11 +71,9 @@
Status Run() {
IREE_TRACE_SCOPE0("iree-run-module");
- RETURN_IF_ERROR(FromApiStatus(iree_hal_module_register_types(), IREE_LOC))
- << "registering HAL types";
+ RETURN_IF_ERROR(iree_hal_module_register_types()) << "registering HAL types";
iree_vm_instance_t* instance = nullptr;
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_instance_create(iree_allocator_system(), &instance), IREE_LOC))
+ RETURN_IF_ERROR(iree_vm_instance_create(iree_allocator_system(), &instance))
<< "creating instance";
ASSIGN_OR_RETURN(auto module_data, GetModuleContentsFromFlags());
@@ -90,20 +88,17 @@
iree_vm_context_t* context = nullptr;
// Order matters. The input module will likely be dependent on the hal module.
std::array<iree_vm_module_t*, 2> modules = {hal_module, input_module};
- RETURN_IF_ERROR(FromApiStatus(iree_vm_context_create_with_modules(
- instance, modules.data(), modules.size(),
- iree_allocator_system(), &context),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_vm_context_create_with_modules(
+ instance, modules.data(), modules.size(), iree_allocator_system(),
+ &context))
<< "creating context";
std::string function_name = absl::GetFlag(FLAGS_entry_function);
iree_vm_function_t function;
- RETURN_IF_ERROR(FromApiStatus(
- input_module->lookup_function(
- input_module->self, IREE_VM_FUNCTION_LINKAGE_EXPORT,
- iree_string_view_t{function_name.data(), function_name.size()},
- &function),
- IREE_LOC))
+ RETURN_IF_ERROR(input_module->lookup_function(
+ input_module->self, IREE_VM_FUNCTION_LINKAGE_EXPORT,
+ iree_string_view_t{function_name.data(), function_name.size()},
+ &function))
<< "looking up function '" << function_name << "'";
RETURN_IF_ERROR(ValidateFunctionAbi(function));
@@ -126,16 +121,14 @@
ASSIGN_OR_RETURN(auto output_descs, ParseOutputSignature(function));
vm::ref<iree_vm_list_t> outputs;
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_list_create(/*element_type=*/nullptr, output_descs.size(),
- iree_allocator_system(), &outputs),
- IREE_LOC));
+ RETURN_IF_ERROR(iree_vm_list_create(/*element_type=*/nullptr,
+ output_descs.size(),
+ iree_allocator_system(), &outputs));
std::cout << "EXEC @" << function_name << "\n";
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_invoke(context, function, /*policy=*/nullptr, inputs.get(),
- outputs.get(), iree_allocator_system()),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_vm_invoke(context, function, /*policy=*/nullptr,
+ inputs.get(), outputs.get(),
+ iree_allocator_system()))
<< "invoking function " << function_name;
RETURN_IF_ERROR(PrintVariantList(output_descs, outputs.get()))
diff --git a/iree/tools/vm_util.cc b/iree/tools/vm_util.cc
index 0fd0efd..fb16bd8 100644
--- a/iree/tools/vm_util.cc
+++ b/iree/tools/vm_util.cc
@@ -90,11 +90,10 @@
<< " buffer strings but received " << input_strings.size();
}
vm::ref<iree_vm_list_t> variant_list;
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_list_create(/*element_type=*/nullptr, input_strings.size(),
- iree_allocator_system(), &variant_list),
- IREE_LOC));
- for (int i = 0; i < input_strings.size(); ++i) {
+ RETURN_IF_ERROR(iree_vm_list_create(/*element_type=*/nullptr,
+ input_strings.size(),
+ iree_allocator_system(), &variant_list));
+ for (size_t i = 0; i < input_strings.size(); ++i) {
auto input_string = input_strings[i];
auto desc = descs[i];
std::string desc_str;
@@ -119,23 +118,18 @@
<< "Converting '" << input_view << "' to i32 when parsing '"
<< input_string << "'";
}
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_list_push_value(variant_list.get(), &val), IREE_LOC));
+ RETURN_IF_ERROR(iree_vm_list_push_value(variant_list.get(), &val));
break;
}
case RawSignatureParser::Type::kBuffer: {
iree_hal_buffer_view_t* buffer_view = nullptr;
- iree_status_t status = iree_hal_buffer_view_parse(
+ RETURN_IF_ERROR(iree_hal_buffer_view_parse(
iree_string_view_t{input_string.data(), input_string.size()},
- allocator, iree_allocator_system(), &buffer_view);
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC)
- << "Parsing value '" << input_string << "'";
- }
+ allocator, iree_allocator_system(), &buffer_view))
+ << "Parsing value '" << input_string << "'";
auto buffer_view_ref = iree_hal_buffer_view_move_ref(buffer_view);
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_list_push_ref_move(variant_list.get(), &buffer_view_ref),
- IREE_LOC));
+ RETURN_IF_ERROR(
+ iree_vm_list_push_ref_move(variant_list.get(), &buffer_view_ref));
break;
}
default:
@@ -170,8 +164,7 @@
iree_vm_list_t* variant_list, std::ostream* os) {
for (int i = 0; i < iree_vm_list_size(variant_list); ++i) {
iree_vm_variant_t variant = iree_vm_variant_empty();
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_list_get_variant(variant_list, i, &variant), IREE_LOC))
+ RETURN_IF_ERROR(iree_vm_list_get_variant(variant_list, i, &variant))
<< "variant " << i << "not present";
const auto& desc = descs[i];
@@ -216,9 +209,7 @@
&result_str[0], &actual_length);
result_str.resize(actual_length);
} while (iree_status_is_out_of_range(status));
- if (!iree_status_is_ok(status)) {
- return FromApiStatus(status, IREE_LOC);
- }
+ RETURN_IF_ERROR(status);
*os << result_str << "\n";
break;
@@ -236,16 +227,12 @@
iree_hal_device_t** out_device) {
LOG(INFO) << "Creating driver and device for '" << driver_name << "'...";
iree_hal_driver_t* driver = nullptr;
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_driver_registry_create_driver(
- iree_string_view_t{driver_name.data(), driver_name.size()},
- iree_allocator_system(), &driver),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_hal_driver_registry_create_driver(
+ iree_string_view_t{driver_name.data(), driver_name.size()},
+ iree_allocator_system(), &driver))
<< "Creating driver '" << driver_name << "'";
- RETURN_IF_ERROR(
- FromApiStatus(iree_hal_driver_create_default_device(
- driver, iree_allocator_system(), out_device),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_hal_driver_create_default_device(
+ driver, iree_allocator_system(), out_device))
<< "Creating default device for driver '" << driver_name << "'";
iree_hal_driver_release(driver);
return OkStatus();
@@ -253,22 +240,19 @@
Status CreateHalModule(iree_hal_device_t* device,
iree_vm_module_t** out_module) {
- RETURN_IF_ERROR(FromApiStatus(
- iree_hal_module_create(device, iree_allocator_system(), out_module),
- IREE_LOC))
+ RETURN_IF_ERROR(
+ iree_hal_module_create(device, iree_allocator_system(), out_module))
<< "Creating HAL module";
return OkStatus();
}
Status LoadBytecodeModule(absl::string_view module_data,
iree_vm_module_t** out_module) {
- RETURN_IF_ERROR(FromApiStatus(
- iree_vm_bytecode_module_create(
- iree_const_byte_span_t{
- reinterpret_cast<const uint8_t*>(module_data.data()),
- module_data.size()},
- iree_allocator_null(), iree_allocator_system(), out_module),
- IREE_LOC))
+ RETURN_IF_ERROR(iree_vm_bytecode_module_create(
+ iree_const_byte_span_t{
+ reinterpret_cast<const uint8_t*>(module_data.data()),
+ module_data.size()},
+ iree_allocator_null(), iree_allocator_system(), out_module))
<< "Deserializing module";
return OkStatus();
}
diff --git a/iree/vm/module_abi_cc.h b/iree/vm/module_abi_cc.h
index 2dbd9f6..03dba94 100644
--- a/iree/vm/module_abi_cc.h
+++ b/iree/vm/module_abi_cc.h
@@ -79,8 +79,7 @@
NativeModule(const char* name, iree_allocator_t allocator,
absl::Span<const NativeFunction<State>> dispatch_table)
: name_(name), allocator_(allocator), dispatch_table_(dispatch_table) {
- CHECK_OK(
- FromApiStatus(iree_vm_module_initialize(&interface_, this), IREE_LOC));
+ IREE_CHECK_OK(iree_vm_module_initialize(&interface_, this));
interface_.destroy = NativeModule::ModuleDestroy;
interface_.name = NativeModule::ModuleName;
interface_.signature = NativeModule::ModuleSignature;