aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/CloneModule.cpp
diff options
context:
space:
mode:
authorSean Silva <silvasean@google.com>2021-02-04 16:17:45 -0800
committerSean Silva <silvasean@google.com>2021-02-10 15:22:59 -0800
commit6b07a978350ff738b81866c6c9114770f997b2fc (patch)
tree1547f51c0ff16854c018fe1e11474ea7b2a6dd31 /llvm/lib/Transforms/Utils/CloneModule.cpp
parent309d40f05228ef71860afe1c179a3c8dcc4d7e79 (diff)
downloadllvm-6b07a978350ff738b81866c6c9114770f997b2fc.zip
llvm-6b07a978350ff738b81866c6c9114770f997b2fc.tar.gz
llvm-6b07a978350ff738b81866c6c9114770f997b2fc.tar.bz2
[mlir] Introduce more intuitive wording for attributes.
After discussion, it seems like we want to go with "inherent/discardable". These seem to best capture the relationship with the op semantics and don't conflict with other terms. Please let me know your preferences. Some of the other contenders are: ``` "intrinsic" side | "annotation" side -----------------+------------------ characteristic | annotation closed | open definitional | advisory essential | discardable expected | unexpected innate | acquired internal | external intrinsic | extrinsic known | unknown local | global native | foreign inherent | acquired ``` Rationale: - discardable: good. discourages use for stable data. - inherent: good - annotation: redundant and doesn't convey difference - intrinsic: confusable with "compiler intrinsics". - definitional: too much of a mounthful - extrinsic: too exotic of a word and hard to say - acquired: doesn't convey the relationship to the semantics - internal/external: not immediately obvious: what is internal to what? - innate: similar to intrinsic but worse - acquired: we don't typically think of an op as "acquiring" things - known/unknown: by who? - local/global: to what? - native/foreign: to where? - advisory: confusing distinction: is the attribute itself advisory or is the information it provides advisory? - essential: an intrinsic attribute need not be present. - expected: same issue as essential - unexpected: by who/what? - closed/open: whether the set is open or closed doesn't seem essential to the attribute being intrinsic. Also, in theory an op can have an unbounded set of intrinsic attributes (e.g. `arg<N>` for func). - characteristic: unless you have a math background this probably doesn't make as much sense Differential Revision: https://reviews.llvm.org/D96093
Diffstat (limited to 'llvm/lib/Transforms/Utils/CloneModule.cpp')
0 files changed, 0 insertions, 0 deletions