/llvm-project/flang/include/flang/Optimizer/Builder/ |
H A D | BoxValue.h | 1 //===-- BoxValue.h -- internal box values -----------------------*- C++ -*-===// 31 class BoxValue; variable 43 llvm::raw_ostream &operator<<(llvm::raw_ostream &, const BoxValue &); 291 class BoxValue : public AbstractIrBox { 293 BoxValue(mlir::Value addr) : AbstractIrBox{addr} { assert(verify()); } 294 BoxValue(mlir::Value addr, llvm::ArrayRef<mlir::Value> lbounds, in BoxValue() function 305 BoxValue clone(mlir::Value newBox) const { 309 friend llvm::raw_ostream &operator<<(llvm::raw_ostream &, const BoxValue &); 331 // Only field when the BoxValue has explicit LEN parameters. 461 /// Get extents from \p box. For fir::BoxValue an [all...] |
H A D | FIRBuilder.h | 40 class BoxValue; 638 const fir::BoxValue &box); 640 /// Read a fir::BoxValue into an fir::UnboxValue, a fir::ArrayBoxValue or a 641 /// fir::CharArrayBoxValue. This should only be called if the fir::BoxValue is 646 const fir::BoxValue &box); 781 /// Create a fir.box from a fir::ExtendedValue and wrap it in a fir::BoxValue 783 fir::BoxValue createBoxValue(fir::FirOpBuilder &builder, mlir::Location loc, 39 class BoxValue; global() variable
|
/llvm-project/flang/lib/Optimizer/Builder/ |
H A D | BoxValue.cpp | 30 [](const fir::BoxValue &) -> mlir::Value { in getLen() argument 59 [&](const fir::BoxValue &) -> RT { in getTypeParams() argument 76 [](const fir::BoxValue &box) { return box.hasRank(); }, in isArray() 130 const fir::BoxValue &box) { in operator <<() 212 bool fir::BoxValue::verify() const { in verify()
|
H A D | FIRBuilder.cpp | 10 #include "flang/Optimizer/Builder/BoxValue.h" 580 [&](const fir::BoxValue &box) -> mlir::Value { in createSlice() 633 [&](const fir::BoxValue &box) { in createBox() 856 [&](const fir::BoxValue &x) -> mlir::Value { in readLowerBound() 885 [&](const fir::BoxValue &x) -> mlir::Value { in readExtents() 918 [&](const fir::BoxValue &x) -> mlir::Value { in readBoxValue() 936 const fir::BoxValue &box) { in getNonDefaultLowerBounds() 964 [&](const fir::BoxValue &x) -> llvm::SmallVector<mlir::Value> { in getNonDeferredLenParams() 976 const fir::BoxValue &box) { 1014 [&](const fir::BoxValue in getTypeParams() [all...] |
H A D | CMakeLists.txt | 5 BoxValue.cpp
|
H A D | IntrinsicCall.cpp | 18 #include "flang/Optimizer/Builder/BoxValue.h" 1798 auto *box = arg.getBoxOf<fir::BoxValue>(); in invokeHandler() 2316 [&](const fir::BoxValue &box) -> fir::ExtendedValue { in genAbs() 2449 fir::BoxValue maskArry = builder.createBox(loc, args[0]); in genAny() 2510 fir::BoxValue maskArry = builder.createBox(loc, args[0]); in genAtand() 2983 const auto *box = arg.getBoxOf<fir::BoxValue>(); in genCPtrCompare() 3284 fir::BoxValue mask = builder.createBox(loc, args[0]); in genDshiftr() 3344 fir::BoxValue arrayBox = builder.createBox(loc, args[0]); in genEoshift() 3523 fir::BoxValue arrayBox = builder.createBox(loc, args[0]); in genFindloc() 3701 unsigned rank = fir::BoxValue(arra in genGetEnvironmentVariable() [all...] |
H A D | MutableBox.cpp | 405 /// Helper to decide if a MutableBoxValue must be read to a BoxValue or in readToBoxValue() 441 return fir::BoxValue{reader.getIrBox(), lbounds, in genMutableBoxRead() 544 [&](const fir::BoxValue &arr) { in associateMutableBox() 652 [&](const fir::BoxValue &arr) { in associateMutableBoxWithRemap()
|
H A D | HLFIRTools.cpp | 246 [&](const fir::BoxValue &box) { in genDeclare() 992 return fir::BoxValue(base, nonDefaultLbounds, in placeTrivialInMemory() 1105 fir::BoxValue box = fir::factory::createBoxValue(builder, loc, exv); in createTempFromMold()
|
/llvm-project/flang/unittests/Optimizer/Builder/ |
H A D | HLFIRToolsTest.cpp | 11 #include "flang/Optimizer/Builder/BoxValue.h" 175 fir::BoxValue arrayChar{arrayCharAddr, lbounds, explicitTypeParams}; in TEST_F() 179 auto *res = arrayCharResult.getBoxOf<fir::BoxValue>(); in TEST_F()
|
H A D | FIRBuilderTest.cpp | 11 #include "flang/Optimizer/Builder/BoxValue.h" 481 scalars.emplace_back(fir::BoxValue(boxValScalar)); in TEST_F() 491 arrays.emplace_back(fir::BoxValue(boxValArray)); in TEST_F()
|
/llvm-project/flang/lib/Lower/ |
H A D | SymbolMap.cpp | 28 [&](const fir::BoxValue &v) { makeSym(sym, v, force); }, in addSymbol()
|
H A D | CustomIntrinsicCall.cpp | 102 if (auto *box = result.getBoxOf<fir::BoxValue>()) in genIntrinsicCall() 289 fir::BoxValue targetBox = in lowerAssociated()
|
H A D | HostAssociations.cpp | 399 if (args.hostValue.getBoxOf<fir::BoxValue>() && in instantiateHostTuple() 452 fir::BoxValue boxValue(box, lbounds, /*explicitParams=*/std::nullopt); in getFromTuple() 473 fir::BoxValue boxValue(box, lbounds, /*explicitParams=*/std::nullopt); in getFromTuple()
|
H A D | ConvertExpr.cpp | 167 BoxValue, // refers to a box value containing `v` enumerator 450 [&](const fir::BoxValue &box) -> fir::ExtendedValue { in genOptionalValue() 510 if (exv.getBoxOf<fir::BoxValue>()) 527 return fir::BoxValue(boxOrAbsent); in isElementalProcWithArrayArgs() 997 [&](const fir::BoxValue &toBox) { in genval() 999 "represented by fir::BoxValue"); 1580 if (!array.getBoxOf<fir::BoxValue>()) in genOffsetAndCoordinateOp() 1697 [&](const fir::BoxValue &arr) -> ExtValue { in getLBound() 1698 // CoordinateOp for BoxValue is not generated here. The dimensions in getLBound() 1702 loc, "internal: BoxValue i in getLBound() [all...] |
H A D | Allocatable.cpp | 596 const auto *sourceBox = sourceExv.getBoxOf<fir::BoxValue>(); in genSourceMoldAllocation() 1158 fir::BoxValue boxLoad = in getTypeDescAddr()
|
H A D | ConvertCall.cpp | 22 #include "flang/Optimizer/Builder/BoxValue.h" 54 return fir::BoxValue(base, /*lbounds=*/{}, lengths, extents); in toExtendedValue() 1814 if (exv.getBoxOf<fir::BoxValue>()) in genCustomIntrinsicRefCore() 1831 return {fir::BoxValue(boxOrAbsent), cleanup}; in genCustomIntrinsicRefCore()
|
H A D | Bridge.cpp | 36 #include "flang/Optimizer/Builder/BoxValue.h" 744 [&](const fir::BoxValue &box) -> fir::ExtendedValue { in createHostAssociateVarClone() 753 TODO(loc, "get length parameters from derived type BoxValue"); in createHostAssociateVarClone() 3765 const fir::BoxValue *selectorBox = selector.getBoxOf<fir::BoxValue>(); in genIoConditionBranches()
|
H A D | ConvertVariable.cpp | 1487 /// Helper to decide if a dummy argument must be tracked in an BoxValue. in lowerExplicitLowerBounds() 1491 // Only dummy arguments coming as fir.box can be tracked in an BoxValue. in lowerExplicitLowerBounds() 1494 // Non contiguous arrays must be tracked in an BoxValue. in lowerExplicitLowerBounds() 1909 fir::BoxValue boxValue{box, lbounds, explicitParams, explicitExtents}; in mapSymbolAttributes()
|
H A D | IO.cpp | 750 // genExprAddr will lower them as CharBoxValue or BoxValue. in genOutputItemList() 1084 [&](const fir::BoxValue &) -> ValuePair { in genBuffer() 1077 __anon9e69b2a01202(const fir::BoxValue &) genBuffer() argument
|
/llvm-project/flang/lib/Optimizer/Builder/Runtime/ |
H A D | Character.cpp | 127 if (lhs.getBoxOf<fir::BoxValue>() || rhs.getBoxOf<fir::BoxValue>()) in genCharCompare()
|
/llvm-project/flang/include/flang/Lower/ |
H A D | SymbolMap.h | 17 #include "flang/Optimizer/Builder/BoxValue.h" 76 using Box = fir::BoxValue;
|
/llvm-project/flang/docs/ |
H A D | ParameterizedDerivedTypes.md | 976 - `flang/lib/Lower/Bridge.cpp:454` not yet implemented: get length parameters from derived type BoxValue 993 - `flang/lib/Optimizer/Builder/BoxValue.cpp:60` not yet implemented: box value is missing type parameters 994 - `flang/lib/Optimizer/Builder/BoxValue.cpp:67` not yet implemented: mutable box value is missing type parameters 1002 - `flang/lib/Optimizer/Builder/FIRBuilder.cpp:956` not yet implemented: get length parameters from derived type BoxValue
|
/llvm-project/flang/lib/Lower/OpenMP/ |
H A D | OpenMP.cpp | 29 #include "flang/Optimizer/Builder/BoxValue.h" 247 [&](const fir::BoxValue &v) { in promoteNonCPtrUseDevicePtrArgsToUseDeviceAddr() 249 fir::BoxValue(arg, cloneBounds(v.getLBounds()), in promoteNonCPtrUseDevicePtrArgsToUseDeviceAddr()
|