[PyTorch] shrink Argument (#64820)
authorScott Wolchok <swolchok@fb.com>
Fri, 17 Sep 2021 19:55:47 +0000 (12:55 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Fri, 17 Sep 2021 20:31:48 +0000 (13:31 -0700)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/64820

Putting boolean fields next to each other avoids wasting space for padding.
ghstack-source-id: 138304433

Test Plan: CI

Reviewed By: dhruvbird

Differential Revision: D30860717

fbshipit-source-id: ad45c37574a7c857958978aad42fd1333c6b29ee

aten/src/ATen/core/function_schema.h

index f4b11fc..a47b855 100644 (file)
@@ -33,8 +33,8 @@ struct Argument {
         type_(type ? type : TensorType::get()),
         N_(std::move(N)),
         default_value_(std::move(default_value)),
-        kwarg_only_(kwarg_only),
-        alias_info_(std::move(alias_info)) {
+        alias_info_(std::move(alias_info)),
+        kwarg_only_(kwarg_only) {
     // this is an softly-enforced invariant for out arguments.
     bool is_alias = alias_info_.has_value() && alias_info_.value().isWrite();
     is_out_ = kwarg_only_ && is_alias;
@@ -122,9 +122,9 @@ struct Argument {
   c10::optional<int32_t> N_;
 
   c10::optional<IValue> default_value_;
+  c10::optional<AliasInfo> alias_info_;
   // is this only specifiable as a keyword argument?
   bool kwarg_only_;
-  c10::optional<AliasInfo> alias_info_;
   // marks if the argument is out variant of the schema
   bool is_out_;
 };