| #
14867ffc |
| 10-Nov-2021 |
Andrzej Warzynski <[email protected]> |
[flang][CodeGen] Transform `fir.unboxchar` to a sequence of LLVM MLIR
This patch extends the `FIRToLLVMLowering` pass in Flang by adding a hook to transform `fir.unboxchar` to a sequence of LLVM MLI
[flang][CodeGen] Transform `fir.unboxchar` to a sequence of LLVM MLIR
This patch extends the `FIRToLLVMLowering` pass in Flang by adding a hook to transform `fir.unboxchar` to a sequence of LLVM MLIR instructions.
This is part of the upstreaming effort from the `fir-dev` branch in [1].
[1] https://github.com/flang-compiler/f18-llvm-project
Differential Revision: https://reviews.llvm.org/D113747
Originally written by: Co-authored-by: Eric Schweitz <[email protected]> Co-authored-by: Jean Perier <[email protected]>
show more ...
|
| #
37c7211f |
| 15-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Remove extra return in SelectTypeOpConversion
Extra commit after D113878
|
| #
2a299e4f |
| 15-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Add fir.select_type conversion placeholder
As for D113662, this patch just add a place holder for the `fir.select_type` operation conversion. This operation is part of F20xx and is not impleme
[fir] Add fir.select_type conversion placeholder
As for D113662, this patch just add a place holder for the `fir.select_type` operation conversion. This operation is part of F20xx and is not implemented yet.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D113878
show more ...
|
| #
1e77b095 |
| 11-Nov-2021 |
Andrzej Warzynski <[email protected]> |
[flang][CodeGen] Transform `fir.emboxchar` to a sequence of LLVM MLIR
This patch extends the `FIRToLLVMLowering` pass in Flang by adding a hook to transform `fir.emboxchar` to a sequence of LLVM MLI
[flang][CodeGen] Transform `fir.emboxchar` to a sequence of LLVM MLIR
This patch extends the `FIRToLLVMLowering` pass in Flang by adding a hook to transform `fir.emboxchar` to a sequence of LLVM MLIR instructions.
This is part of the upstreaming effort from the `fir-dev` branch in [1].
[1] https://github.com/flang-compiler/f18-llvm-project
Differential Revision: https://reviews.llvm.org/D113666
Patch originally written by: Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
| #
420ad7ce |
| 08-Nov-2021 |
Andrzej Warzynski <[email protected]> |
[flang][CodeGen] Transform `IsPresentOpConversion` and `AbsentOpConversion`
This patch extends the `FIRToLLVMLowering` pass in Flang by adding hooks to transform `fir.is_present` and `fir.absent` to
[flang][CodeGen] Transform `IsPresentOpConversion` and `AbsentOpConversion`
This patch extends the `FIRToLLVMLowering` pass in Flang by adding hooks to transform `fir.is_present` and `fir.absent` to the LLVM dialect of MLIR.
This is part of the upstreaming effort from the `fir-dev` branch in [1].
[1] https://github.com/flang-compiler/f18-llvm-project
Differential Revision: https://reviews.llvm.org/D113395
Originally written by: Co-authored-by: Jean Perier <[email protected]> Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
| #
39f4ef81 |
| 11-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Add fir.select_case conversion
The `fir.select_case` operation is converted to a if-then-else ladder.
Conversion of `fir.select_case` operation with character is not implemented yet.
This pa
[fir] Add fir.select_case conversion
The `fir.select_case` operation is converted to a if-then-else ladder.
Conversion of `fir.select_case` operation with character is not implemented yet.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: kiranchandramohan, mehdi_amini
Differential Revision: https://reviews.llvm.org/D113484
Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
| #
9534e361 |
| 11-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Add placeholder conversion pattern for disptach operations
`fir.dispatch`, `fir.dispatch_table` and `fir.dt_entry` are operations for type-bound procedures. This patch just adds placeholder co
[fir] Add placeholder conversion pattern for disptach operations
`fir.dispatch`, `fir.dispatch_table` and `fir.dt_entry` are operations for type-bound procedures. This patch just adds placeholder conversion pattern that currently fails since F2003 is not implemented yet.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D113662
show more ...
|
| #
1e6d9c06 |
| 08-Nov-2021 |
Diana Picus <[email protected]> |
[fir] Add !fir.alloca conversion
Convert !fir.alloca into !llvm.alloca.
This also contains a fix for verifyInType in FIROps.cpp, to make sure we can handle a !fir.ptr<!fir.array<?xN>>.
Differentia
[fir] Add !fir.alloca conversion
Convert !fir.alloca into !llvm.alloca.
This also contains a fix for verifyInType in FIROps.cpp, to make sure we can handle a !fir.ptr<!fir.array<?xN>>.
Differential Revision: https://reviews.llvm.org/D113563
Co-authored-by: Eric Schweitz <[email protected]> Co-authored-by: Jean Perier <[email protected]>
show more ...
|
| #
f1a2b507 |
| 10-Nov-2021 |
Andrzej Warzynski <[email protected]> |
[flang][nfc] Tidy up in CodeGen.cpp and TypeConverter.h
Some header `#include`s that belong in TypeConverter.h rather than in CodeGen.cpp are moved accordingly. As TypeConverter.h is currently only
[flang][nfc] Tidy up in CodeGen.cpp and TypeConverter.h
Some header `#include`s that belong in TypeConverter.h rather than in CodeGen.cpp are moved accordingly. As TypeConverter.h is currently only used in CodeGen.cpp, this wouldn't cause any build issues (ultimately, all the required headers are included). However, this would become a problem when including TypeConverter.h elsewhere.
Also, from [1], "(...) include all of the header files that you are using ". This is currently not the case in TypeConverter.h and hence the `#include`s should be moved.
I've also added missing namespace qualifiers in a few places in TypeConverter.h
[1] https://llvm.org/docs/CodingStandards.html#include-as-little-as-possible
Differential Revision: https://reviews.llvm.org/D113569
show more ...
|
| #
b6e44ecd |
| 11-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Add fir.box_isarray, fir.box_isptr and fir.box_isalloc conversion.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: awarzynski
Differential Revision: https://re
[fir] Add fir.box_isarray, fir.box_isptr and fir.box_isalloc conversion.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: awarzynski
Differential Revision: https://reviews.llvm.org/D113566
Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
| #
df3b9810 |
| 10-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Add fir.box_rank, fir.box_addr, fir.box_dims and fir.box_elesize conversion
This patch adds conversion for basic box operations that extract information from the box.
This patch is part of th
[fir] Add fir.box_rank, fir.box_addr, fir.box_dims and fir.box_elesize conversion
This patch adds conversion for basic box operations that extract information from the box.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: awarzynski
Differential Revision: https://reviews.llvm.org/D113551
Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
| #
e3349fa1 |
| 03-Nov-2021 |
Andrzej Warzynski <[email protected]> |
[flang][CodeGen] Transform `fir.{store|load}` to `llvm.{store|load}`
This patch extends the `FIRToLLVMLowering` pass in Flang by adding a hook to transform `fir.store`/`fir.load` to `llvm.store`/`fi
[flang][CodeGen] Transform `fir.{store|load}` to `llvm.{store|load}`
This patch extends the `FIRToLLVMLowering` pass in Flang by adding a hook to transform `fir.store`/`fir.load` to `llvm.store`/`fir.load`, respectively.
This is part of the upstreaming effort from the `fir-dev` branch in [1].
[1] https://github.com/flang-compiler/f18-llvm-project
Differential Revision: https://reviews.llvm.org/D113090
Patch originally written by: Co-authored-by: Eric Schweitz <[email protected]> Co-authored-by: Jean Perier <[email protected]>
show more ...
|
| #
092cee5f |
| 09-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Add fir.convert op conversion from FIR to LLVM IR
Add conversion pattern for the `fir.convert` operation.
This patch is part of the upstreaming effort from fir-dev branch.
This patch was pre
[fir] Add fir.convert op conversion from FIR to LLVM IR
Add conversion pattern for the `fir.convert` operation.
This patch is part of the upstreaming effort from fir-dev branch.
This patch was previously landed with a truncated version that was failing the windows buildbot.
Reviewed By: rovka, awarzynski
Differential Revision: https://reviews.llvm.org/D113469
Co-authored-by: Jean Perier <[email protected]> Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
| #
9d9019c7 |
| 09-Nov-2021 |
Valentin Clement <[email protected]> |
Revert "[fir] Add fir.convert op conversion from FIR to LLVM IR"
This reverts commit 165879ec31ed5cc6e4e1a2524c86fc80b81ebbda.
Windows buildbot failure
|
| #
165879ec |
| 09-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Add fir.convert op conversion from FIR to LLVM IR
Add conversion pattern for the `fir.convert` operation.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: rovka
[fir] Add fir.convert op conversion from FIR to LLVM IR
Add conversion pattern for the `fir.convert` operation.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: rovka, awarzynski
Differential Revision: https://reviews.llvm.org/D113469
Co-authored-by: Jean Perier <[email protected]> Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
| #
7b5132da |
| 09-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Add complex operations conversion from FIR LLVM IR
This patch add conversion for primitive operations on complex types. - fir.addc - fir.subc - fir.mulc - fir.divc - fir.negc
This adds also t
[fir] Add complex operations conversion from FIR LLVM IR
This patch add conversion for primitive operations on complex types. - fir.addc - fir.subc - fir.mulc - fir.divc - fir.negc
This adds also the type conversion for !fir.complex<KIND> type.
This patch is part of the upstreaming effort from fir-dev branch.
This patch was updated to avoid failure on windows buildbot. Flang codegen does not support windows target so we force the test to use a known target instead.
Reviewed By: kiranchandramohan, rovka
Differential Revision: https://reviews.llvm.org/D113434
Co-authored-by: Jean Perier <[email protected]> Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
| #
9b7c584e |
| 09-Nov-2021 |
Valentin Clement <[email protected]> |
Revert "[fir] Add complex operations conversion from FIR LLVM IR"
This reverts commit b9bc64ba147fb90c199c56ec644e24fcabe74a5c.
flang-x86_64-windows is failing with this patch
|
| #
b9bc64ba |
| 09-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Add complex operations conversion from FIR LLVM IR
This patch add conversion for primitive operations on complex types. - fir.addc - fir.subc - fir.mulc - fir.divc - fir.negc
This adds also t
[fir] Add complex operations conversion from FIR LLVM IR
This patch add conversion for primitive operations on complex types. - fir.addc - fir.subc - fir.mulc - fir.divc - fir.negc
This adds also the type conversion for !fir.complex<KIND> type.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: rovka
Differential Revision: https://reviews.llvm.org/D113434
Co-authored-by: Jean Perier <[email protected]> Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
| #
ddd11b9a |
| 05-Nov-2021 |
Andrzej Warzynski <[email protected]> |
[flang][CodeGen] Transform `fir.call` to `llvm.call`
This patch extends the `FIRToLLVMLowering` pass in Flang by adding a hook to transform `fir.call` to `llvm.call`.
This is part of the upstreamin
[flang][CodeGen] Transform `fir.call` to `llvm.call`
This patch extends the `FIRToLLVMLowering` pass in Flang by adding a hook to transform `fir.call` to `llvm.call`.
This is part of the upstreaming effort from the `fir-dev` branch in [1].
[1] https://github.com/flang-compiler/f18-llvm-project
Patch originally written by: Co-authored-by: Eric Schweitz <[email protected]> Co-authored-by: V Donaldson <[email protected]>
Differential Revision: https://reviews.llvm.org/D113278
show more ...
|
| #
54c56347 |
| 07-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Add fir.extract_value and fir.insert_value conversion
This patch add the conversion pattern for fir.extract_value and fir.insert_value. fir.extract_value is lowered to llvm.extractvalue anf fi
[fir] Add fir.extract_value and fir.insert_value conversion
This patch add the conversion pattern for fir.extract_value and fir.insert_value. fir.extract_value is lowered to llvm.extractvalue anf fir.insert_value is lowered to llvm.insertvalue. This patch also adds the type conversion for the BoxType and RecordType needed to have some comprehensive tests.
This patch is part of the upstreaming effort from fir-dev branch.
This patch was landed and reverted once. TypeBuilderFunc getModel<Fortran::ISO::CFI_index_t>() was clashing with getModel<long long> on windows since they both are 64 bits signed interger. On linux CFI_index_t is long. Change CFI_index_t to getModel<long>.
Reviewed By: awarzynski
Differential Revision: https://reviews.llvm.org/D112961
Co-authored-by: Jean Perier <[email protected]> Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
| #
7a189fb2 |
| 05-Nov-2021 |
Valentin Clement <[email protected]> |
Revert "[fir] Add fir.extract_value and fir.insert_value conversion"
This reverts commit ea55503d7ca5b6ded73b0fd01a8c528f68e00521.
|
| #
ea55503d |
| 05-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Add fir.extract_value and fir.insert_value conversion
This patch add the conversion pattern for fir.extract_value and fir.insert_value. fir.extract_value is lowered to llvm.extractvalue anf fi
[fir] Add fir.extract_value and fir.insert_value conversion
This patch add the conversion pattern for fir.extract_value and fir.insert_value. fir.extract_value is lowered to llvm.extractvalue anf fir.insert_value is lowered to llvm.insertvalue. This patch also adds the type conversion for the BoxType and RecordType needed to have some comprehensive tests.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: awarzynski
Differential Revision: https://reviews.llvm.org/D112961
Co-authored-by: Jean Perier <[email protected]> Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
| #
8c239909 |
| 05-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Add fir.select and fir.select_rank FIR to LLVM IR conversion patterns
The `fir.select` and `fir.select_rank` are lowered to llvm.switch.
This patch is part of the upstreaming effort from fir-
[fir] Add fir.select and fir.select_rank FIR to LLVM IR conversion patterns
The `fir.select` and `fir.select_rank` are lowered to llvm.switch.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D113089
Co-authored-by: Jean Perier <[email protected]> Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
| #
3ae8e442 |
| 04-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Add fir.insert_on_range conversion
Convert fir.insert_on_range operation to corresponding llvm.insertvalue operations.
This patch is part of the upstreaming effort from fir-dev branch.
Revie
[fir] Add fir.insert_on_range conversion
Convert fir.insert_on_range operation to corresponding llvm.insertvalue operations.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D112896
show more ...
|
| #
52d813ed |
| 03-Nov-2021 |
Valentin Clement <[email protected]> |
[fir] Use notifyMatchFailure in fir.zero_bits conversion
Change emitOpError to notifyMatchFailure in conversion pattern.
Post-commit change after D113014
Reviewed By: mehdi_amini
Differential Rev
[fir] Use notifyMatchFailure in fir.zero_bits conversion
Change emitOpError to notifyMatchFailure in conversion pattern.
Post-commit change after D113014
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D113091
show more ...
|