<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/flang/lib/Optimizer/Dialect/FortranVariableInterface.cpp, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[flang] fix some FIR verifiers that did not return expected failure (#158686)</title>
<updated>2025-09-16T08:47:35+00:00</updated>
<author>
<name>jeanPerier</name>
<email>jperier@nvidia.com</email>
</author>
<published>2025-09-16T08:47:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=dd29fbd7e59bbc6c537f8e827634ea7e206a3d73'/>
<id>dd29fbd7e59bbc6c537f8e827634ea7e206a3d73</id>
<content type='text'>
Some `return` were missing before `emitOpError`, leading the compiler to
print an error and continue, leading to the same error to be raised
again and again at each verifier pass without a proper abort.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some `return` were missing before `emitOpError`, leading the compiler to
print an error and continue, leading to the same error to be raised
again and again at each verifier pass without a proper abort.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang] Added storage specification for [hl]fir.declare. (#155325)</title>
<updated>2025-08-28T02:48:44+00:00</updated>
<author>
<name>Slava Zakharin</name>
<email>szakharin@nvidia.com</email>
</author>
<published>2025-08-28T02:48:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=199d3d77dd0d7f83be97052d07bbf3ed1d2ea3bb'/>
<id>199d3d77dd0d7f83be97052d07bbf3ed1d2ea3bb</id>
<content type='text'>
As proposed in
https://discourse.llvm.org/t/rfc-flang-representation-for-objects-inside-physical-storage/88026,
this patch adds a `storage` Value operand and a `storage_offset`
Integer attribute for `[hl]fir.declare` operations.

The `storage` operand indicates the raw address of the physical storage
a variable belongs to. This is the beginning address of the physical
storage.
The `storage_offset` specifies a byte offset within the physical storage
where the variable object starts.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As proposed in
https://discourse.llvm.org/t/rfc-flang-representation-for-objects-inside-physical-storage/88026,
this patch adds a `storage` Value operand and a `storage_offset`
Integer attribute for `[hl]fir.declare` operations.

The `storage` operand indicates the raw address of the physical storage
a variable belongs to. This is the beginning address of the physical
storage.
The `storage_offset` specifies a byte offset within the physical storage
where the variable object starts.</pre>
</div>
</content>
</entry>
<entry>
<title>mlir/LogicalResult: move into llvm (#97309)</title>
<updated>2024-07-02T09:42:33+00:00</updated>
<author>
<name>Ramkumar Ramachandra</name>
<email>ramkumar.ramachandra@codasip.com</email>
</author>
<published>2024-07-02T09:42:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=db791b278a414fb6df1acc1799adcf11d8fb9169'/>
<id>db791b278a414fb6df1acc1799adcf11d8fb9169</id>
<content type='text'>
This patch is part of a project to move the Presburger library into
LLVM.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch is part of a project to move the Presburger library into
LLVM.</pre>
</div>
</content>
</entry>
<entry>
<title>Reapply "[mlir] Mark `isa/dyn_cast/cast/...` member functions depreca… (#90406)</title>
<updated>2024-04-28T20:01:42+00:00</updated>
<author>
<name>Christian Sigg</name>
<email>chsigg@users.noreply.github.com</email>
</author>
<published>2024-04-28T20:01:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fac349a169976f822fb27f03e623fa0d28aec1f3'/>
<id>fac349a169976f822fb27f03e623fa0d28aec1f3</id>
<content type='text'>
…ted. (#89998)" (#90250)

This partially reverts commit 7aedd7dc754c74a49fe84ed2640e269c25414087.

This change removes calls to the deprecated member functions. It does
not mark the functions deprecated yet and does not disable the
deprecation warning in TypeSwitch. This seems to cause problems with
MSVC.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
…ted. (#89998)" (#90250)

This partially reverts commit 7aedd7dc754c74a49fe84ed2640e269c25414087.

This change removes calls to the deprecated member functions. It does
not mark the functions deprecated yet and does not disable the
deprecation warning in TypeSwitch. This seems to cause problems with
MSVC.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[mlir] Mark `isa/dyn_cast/cast/...` member functions deprecated. (#89998)" (#90250)</title>
<updated>2024-04-26T19:09:13+00:00</updated>
<author>
<name>dyung</name>
<email>douglas.yung@sony.com</email>
</author>
<published>2024-04-26T19:09:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7aedd7dc754c74a49fe84ed2640e269c25414087'/>
<id>7aedd7dc754c74a49fe84ed2640e269c25414087</id>
<content type='text'>
This reverts commit 950b7ce0b88318f9099e9a7c9817d224ebdc6337.

This change is causing build failures on a bot
https://lab.llvm.org/buildbot/#/builders/216/builds/38157</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 950b7ce0b88318f9099e9a7c9817d224ebdc6337.

This change is causing build failures on a bot
https://lab.llvm.org/buildbot/#/builders/216/builds/38157</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] Mark `isa/dyn_cast/cast/...` member functions deprecated. (#89998)</title>
<updated>2024-04-26T14:28:30+00:00</updated>
<author>
<name>Christian Sigg</name>
<email>chsigg@users.noreply.github.com</email>
</author>
<published>2024-04-26T14:28:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=950b7ce0b88318f9099e9a7c9817d224ebdc6337'/>
<id>950b7ce0b88318f9099e9a7c9817d224ebdc6337</id>
<content type='text'>
See https://mlir.llvm.org/deprecation and
https://discourse.llvm.org/t/preferred-casting-style-going-forward.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See https://mlir.llvm.org/deprecation and
https://discourse.llvm.org/t/preferred-casting-style-going-forward.</pre>
</div>
</content>
</entry>
<entry>
<title>mlir/tblgen: use std::optional in generation</title>
<updated>2022-12-17T10:13:26+00:00</updated>
<author>
<name>Ramkumar Ramachandra</name>
<email>r@artagnon.com</email>
</author>
<published>2022-12-14T10:39:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=22426110c5ef329d9ff40212cd8e589b5c132667'/>
<id>22426110c5ef329d9ff40212cd8e589b5c132667</id>
<content type='text'>
This is part of an effort to migrate from llvm::Optional to
std::optional. This patch changes the way mlir-tblgen generates .inc
files, and modifies tests and documentation appropriately. It is a "no
compromises" patch, and doesn't leave the user with an unpleasant mix of
llvm::Optional and std::optional.

A non-trivial change has been made to ControlFlowInterfaces to split one
constructor into two, relating to a build failure on Windows.

See also: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

Signed-off-by: Ramkumar Ramachandra &lt;r@artagnon.com&gt;

Differential Revision: https://reviews.llvm.org/D138934
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is part of an effort to migrate from llvm::Optional to
std::optional. This patch changes the way mlir-tblgen generates .inc
files, and modifies tests and documentation appropriately. It is a "no
compromises" patch, and doesn't leave the user with an unpleasant mix of
llvm::Optional and std::optional.

A non-trivial change has been made to ControlFlowInterfaces to split one
constructor into two, relating to a build failure on Windows.

See also: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

Signed-off-by: Ramkumar Ramachandra &lt;r@artagnon.com&gt;

Differential Revision: https://reviews.llvm.org/D138934
</pre>
</div>
</content>
</entry>
<entry>
<title>[flang] Add hlfir.declare operation</title>
<updated>2022-11-14T09:27:12+00:00</updated>
<author>
<name>Jean Perier</name>
<email>jperier@nvidia.com</email>
</author>
<published>2022-11-14T09:25:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=32e7e17d860b17731bc9347ab0488ea072356f50'/>
<id>32e7e17d860b17731bc9347ab0488ea072356f50</id>
<content type='text'>
This operation will be used to declare named variables in HLFIR.
See the added description in HLFIROpBase.td for more info about it.

The motivation behind this operation is described in https://reviews.llvm.org/D137634.

The FortranVariableInterface verifier is changed a bit. It used to
operate using the result type to verify the provided shape and length
parameters. This is a bit incorrect because what matters to verify the
information is the input address (This worked OK with fir.declare where
the input memref type is the same as the output result). Also, not all
operation defining variables will have an input memref with the same
meaning (hlfir.designate and hlfir.associate for instance).
Hence, this verifier is now optional and must be provided a memref to
operate.

Differential Revision: https://reviews.llvm.org/D137781
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This operation will be used to declare named variables in HLFIR.
See the added description in HLFIROpBase.td for more info about it.

The motivation behind this operation is described in https://reviews.llvm.org/D137634.

The FortranVariableInterface verifier is changed a bit. It used to
operate using the result type to verify the provided shape and length
parameters. This is a bit incorrect because what matters to verify the
information is the input address (This worked OK with fir.declare where
the input memref type is the same as the output result). Also, not all
operation defining variables will have an input memref with the same
meaning (hlfir.designate and hlfir.associate for instance).
Hence, this verifier is now optional and must be provided a memref to
operate.

Differential Revision: https://reviews.llvm.org/D137781
</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][NFC] move fir namespace into FortranVariableOpInterface ODS declaration</title>
<updated>2022-11-09T10:41:24+00:00</updated>
<author>
<name>Jean Perier</name>
<email>jperier@nvidia.com</email>
</author>
<published>2022-11-09T10:40:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a621e799168ff6e57c27a49e6badd40b16bc44a8'/>
<id>a621e799168ff6e57c27a49e6badd40b16bc44a8</id>
<content type='text'>
This will be needed to be able to use this interface in HLFIR ODS operation definition
and get the right namespaces.

Differential Revision: https://reviews.llvm.org/D137702
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will be needed to be able to use this interface in HLFIR ODS operation definition
and get the right namespaces.

Differential Revision: https://reviews.llvm.org/D137702
</pre>
</div>
</content>
</entry>
<entry>
<title>[flang] Add fir.declare operation</title>
<updated>2022-10-19T09:06:58+00:00</updated>
<author>
<name>Jean Perier</name>
<email>jperier@nvidia.com</email>
</author>
<published>2022-10-19T09:06:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a398981fb0f01473dbf9833677fe858630c38282'/>
<id>a398981fb0f01473dbf9833677fe858630c38282</id>
<content type='text'>
Add fir.declare operation whose purpose was described in https://reviews.llvm.org/D134285.
It uses the FortranVariableInterfaceOp for most of its logic (including the verifier).
The rational is that all these aspects/logic will be shared by hlfir.designate and
hlfir.associate.

Its codegen and lowering will be added in later patches.

Differential Revision: https://reviews.llvm.org/D136181
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add fir.declare operation whose purpose was described in https://reviews.llvm.org/D134285.
It uses the FortranVariableInterfaceOp for most of its logic (including the verifier).
The rational is that all these aspects/logic will be shared by hlfir.designate and
hlfir.associate.

Its codegen and lowering will be added in later patches.

Differential Revision: https://reviews.llvm.org/D136181
</pre>
</div>
</content>
</entry>
</feed>
