-
Notifications
You must be signed in to change notification settings - Fork 580
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Excise abseil usage from iree/ #3848
Comments
This allowed for a lot of file IO code to go away - there was needless abstraction here as there was only a single user of a lot of these things that was already platform-specialized. Progress on #4369 and #3848. Fixes #4642. Unblocks #3845, which can now be added cleanly. # Conflicts: # iree/hal/local/loaders/legacy_library_loader.c
This allowed for a lot of file IO code to go away - there was needless abstraction here as there was only a single user of a lot of these things that was already platform-specialized. Progress on #4369 and #3848. Fixes #4642. Unblocks #3845, which can now be added cleanly. # Conflicts: # iree/hal/local/loaders/legacy_library_loader.c
This allowed for a lot of file IO code to go away - there was needless abstraction here as there was only a single user of a lot of these things that was already platform-specialized. Progress on #4369 and #3848. Fixes #4642. Unblocks #3845, which can now be added cleanly. # Conflicts: # iree/hal/local/loaders/legacy_library_loader.c
This allowed for a lot of file IO code to go away - there was needless abstraction here as there was only a single user of a lot of these things that was already platform-specialized. Progress on #4369 and #3848. Fixes #4642. Unblocks #3845, which can now be added cleanly. # Conflicts: # iree/hal/local/loaders/legacy_library_loader.c
This allowed for a lot of file IO code to go away - there was needless abstraction here as there was only a single user of a lot of these things that was already platform-specialized. Progress on #4369 and #3848. Fixes #4642. Unblocks #3845, which can now be added cleanly. # Conflicts: # iree/hal/local/loaders/legacy_library_loader.c
This allowed for a lot of file IO code to go away - there was needless abstraction here as there was only a single user of a lot of these things that was already platform-specialized. Progress on #4369 and #3848. Fixes #4642. Unblocks #3845, which can now be added cleanly. # Conflicts: # iree/hal/local/loaders/legacy_library_loader.c
…5254) We use `std::make_unique` throughout the project. If we needed compatibility with older compilers, we could switch to `absl::make_unique` ([source](https://github.com/abseil/abseil-cpp/blob/9fde5a6eb081ea080f5aa895102a9154c3a2d09f/absl/memory/memory.h#L96-L103)) or add our own implementation without a dep on abseil (see #3848).
Messy find/replaces, may have missed some things... but progress on #3848! --- I didn't remove this dep: https://github.com/google/iree/blob/531c73e410d1ee0f11d989d2df3aa6b8202fc5db/iree/base/internal/BUILD#L208 https://github.com/google/iree/blob/531c73e410d1ee0f11d989d2df3aa6b8202fc5db/iree/base/internal/statusor.h#L38
Most of the simple replacements are done now (assuming no other undiscovered bugs >_>).
|
I may try to take on flags soonish. VMLA replacement will drop most of our uses of Span. Dropping SIP (signature_parser) will remove some strings usage. HAL buffer_view/string_util are probably the trickiest core parts. Vulkan HAL still needs porting to C to drop the remaining Span usage in there. |
iree/hal/string_util.cc is almost ready to switch to C. Progress on #3848.
iree/hal/string_util.cc is almost ready to switch to C. Progress on #3848.
iree/hal/string_util.cc is almost ready to switch to C. Progress on #3848.
iree/hal/string_util.cc is almost ready to switch to C. Progress on #3848.
All remaining uses of abseil are in the python bindings. Progress on #3848.
All remaining uses of abseil are in the python bindings. Progress on #3848.
All remaining uses of abseil are in the python bindings. Progress on #3848.
Current usage under iree/ (excluding bindings/ and other non-core paths): https://gist.github.com/benvanik/9316c8bfd46d6910a1e996ac1427d6d4
It's cheap enough to keep around for tests and such, but it shouldn't be pulled into any end-user compiler or runtime binaries like it is now with flags/logging/etc that bring in 150-200KB of junk.
Replace logging with a C log sink API #2843: logging(good to replace, but our core logging doesn't depend on abseil)absl::disjunction
)The text was updated successfully, but these errors were encountered: