This is an archive of the discontinued LLVM Phabricator instance.

[mlir] Remove static constructors from LLVMType
ClosedPublic

Authored by ftynse on Dec 22 2020, 2:23 AM.

Details

Summary

LLVMType contains numerous static constructors that were initially introduced
for API compatibility with LLVM. Most of these merely forward to arguments to
SpecificType::get (MLIR defines classes for all types, unlike LLVM IR), while
some introduce subtle semantics differences due to different modeling of MLIR
types (e.g., structs are not auto-renamed in case of conflicts). Furthermore,
these constructors don't match MLIR idioms and actively prevent us from making
the LLVM dialect type system more open. Remove them and use SpecificType::get
instead.

Depends On D93680

Diff Detail

Event Timeline

ftynse created this revision.Dec 22 2020, 2:23 AM
ftynse requested review of this revision.Dec 22 2020, 2:23 AM
Herald added a project: Restricted Project. · View Herald Transcript
mehdi_amini accepted this revision.Dec 22 2020, 9:46 AM
This revision is now accepted and ready to land.Dec 22 2020, 9:46 AM
ftynse updated this revision to Diff 313510.Dec 23 2020, 2:06 AM

Try fixing a Windows test

This revision was automatically updated to reflect the committed changes.