forked from OSchip/llvm-project
[flang] Remove defined assignments from runtime representation.
Original-commit: flang-compiler/f18@720e71c5db Reviewed-on: https://github.com/flang-compiler/f18/pull/162 Tree-same-pre-rewrite: false
This commit is contained in:
parent
3ace3e39c6
commit
d4b12d4e84
flang/runtime
|
@ -27,8 +27,7 @@ TypeParameterValue TypeParameter::GetValue(const Descriptor &descriptor) const {
|
|||
}
|
||||
|
||||
bool DerivedType::IsNontrivialAnalysis() const {
|
||||
if (kindParameters_ > 0 || lenParameters_ > 0 || typeBoundProcedures_ > 0 ||
|
||||
definedAssignments_ > 0) {
|
||||
if (kindParameters_ > 0 || lenParameters_ > 0 || typeBoundProcedures_ > 0) {
|
||||
return true;
|
||||
}
|
||||
for (std::size_t j{0}; j < components_; ++j) {
|
||||
|
|
|
@ -117,12 +117,6 @@ struct TypeBoundProcedure {
|
|||
ExecutableCode code;
|
||||
};
|
||||
|
||||
struct DefinedAssignment {
|
||||
int destinationRank, sourceRank;
|
||||
bool isElemental;
|
||||
ExecutableCode code;
|
||||
};
|
||||
|
||||
// Represents a specialization of a derived type; i.e., any KIND type
|
||||
// parameters have values set at compilation time.
|
||||
// Extended derived types have the EXTENDS flag set and place their base
|
||||
|
@ -132,12 +126,10 @@ class DerivedType {
|
|||
public:
|
||||
DerivedType(const char *n, std::size_t kps, std::size_t lps,
|
||||
const TypeParameter *tp, std::size_t cs, const Component *ca,
|
||||
std::size_t tbps, const TypeBoundProcedure *tbp, std::size_t das,
|
||||
const DefinedAssignment *da, std::size_t sz)
|
||||
std::size_t tbps, const TypeBoundProcedure *tbp, std::size_t sz)
|
||||
: name_{n}, kindParameters_{kps}, lenParameters_{lps}, typeParameter_{tp},
|
||||
components_{cs}, component_{ca}, typeBoundProcedures_{tbps},
|
||||
typeBoundProcedure_{tbp}, definedAssignments_{das},
|
||||
definedAssignment_{da}, bytes_{sz} {
|
||||
typeBoundProcedure_{tbp}, bytes_{sz} {
|
||||
if (IsNontrivialAnalysis()) {
|
||||
flags_ |= NONTRIVIAL;
|
||||
}
|
||||
|
@ -197,8 +189,6 @@ private:
|
|||
const Component *component_{nullptr}; // array
|
||||
std::size_t typeBoundProcedures_{0};
|
||||
const TypeBoundProcedure *typeBoundProcedure_{nullptr}; // array
|
||||
std::size_t definedAssignments_{0};
|
||||
const DefinedAssignment *definedAssignment_{nullptr}; // array
|
||||
std::uint64_t flags_{0};
|
||||
std::size_t bytes_{0};
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue