llvm-project/flang/test/Lower
Markus Böck bd7eff1f2a [mlir][flang] Make use of the new `GEPArg` builder of GEP Op to simplify code
This is the follow up on https://reviews.llvm.org/D130730 which goes through upstream code and removes creating constant values in favour of using the constant indices in GEP directly. This leads to less and more readable code and more compact IR as well.

Differential Revision: https://reviews.llvm.org/D130731
2022-08-01 17:22:55 +02:00
..
Intrinsics [flang] Single entry point for GET_COMMAND_ARGUMENT 2022-07-27 10:27:25 +00:00
OpenACC [flang][OpenACC] Lower parallel loop 2022-06-24 21:06:21 +02:00
OpenMP [Flang][MLIR][OpenMP] Add support for simdlen clause 2022-07-28 23:49:17 +08:00
forall [flang] Fix lowering issue with character temp 2022-06-29 20:06:54 +02:00
allocatable-assignment.f90 [flang] Changed lowering for allocatable assignment to make array-value-copy correct. 2022-07-08 09:41:34 -07:00
allocatable-callee.f90 [flang] Lower boxed procedure 2022-03-22 15:41:11 +01:00
allocatable-caller.f90 [flang] Add one semantic check for allocatable/pointer argument association 2022-04-04 23:16:30 +08:00
allocatable-globals.f90 [flang][NFC] Fix lowering tests indent 2022-03-23 09:24:18 +01:00
allocatable-runtime.f90 [flang] Lower boxed procedure 2022-03-22 15:41:11 +01:00
allocatables.f90 [flang] Handle reversed bounds and negative length in inlined allocation 2022-06-13 17:35:03 +02:00
allocated.f90 [flang] Lower allocated intrinsic 2022-03-15 22:13:07 +01:00
alternate-return.f90 [flang][NFC] Fix lowering tests indent 2022-03-23 09:24:18 +01:00
always-execute-loop-body.f90 [Flang] Add flag dependent code to execute the loop-body atleast once 2022-06-07 10:12:09 +00:00
arguments.f90 [flang] Handle allocatable dummy arguments 2022-02-24 17:16:55 +01:00
arithmetic-goto.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
array-character.f90 [mlir][arith] cmpi: move constant to the right side 2022-07-22 12:39:17 +02:00
array-constructor-1.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
array-constructor-2.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
array-copy-semantics.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
array-copy.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
array-derived-assignments.f90 [flang][NFC] Add array lowering tests 2022-06-27 14:19:54 +02:00
array-derived.f90 [flang][NFC] Add array lowering tests 2022-06-27 14:19:54 +02:00
array-elemental-calls-2.f90 [flang] Try to lower math intrinsics to math operations first. 2022-07-22 09:04:44 -07:00
array-elemental-calls-char-byval.f90 [flang][NFC] Add array lowering tests 2022-06-27 14:19:54 +02:00
array-elemental-calls-char.f90 [flang][NFC] Add array lowering tests 2022-06-27 14:19:54 +02:00
array-elemental-calls.f90 [flang][NFC] Fix lowering tests indent 2022-03-23 09:24:18 +01:00
array-elemental-subroutines.f90 [flang][NFC] Add array lowering tests 2022-06-27 14:19:54 +02:00
array-expression-assumed-size.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
array-expression-slice-1.f90 [flang] Fix one corner case in reshape intrinsic 2022-06-30 23:52:44 +08:00
array-expression-slice-2.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
array-expression-subscript.f90 [flang][NFC] Add lowering test for array expression 2022-03-24 14:59:33 +01:00
array-expression.f90 [flang] Try to lower math intrinsics to math operations first. 2022-07-22 09:04:44 -07:00
array-substring.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
array-temp.f90 [flang] Fix one corner case in reshape intrinsic 2022-06-30 23:52:44 +08:00
array-user-def-assignments.f90 [flang] Fix couple of issue with user defined assignment in FORALL and WHERE 2022-06-28 18:26:55 +02:00
array-wide-char.f90 [flang] Correct bug in literal CHARACTER constant names 2022-06-30 10:10:37 +02:00
array.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
assigned-goto.f90 [flang] Lower computed and assigned goto 2022-03-08 20:19:18 +01:00
assignment.f90 [flang] Simple array assignment lowering 2022-02-24 21:23:30 +01:00
associate-construct-2.f90 [flang][NFC] Add misc lowering tests 2022-03-23 15:24:40 +01:00
associate-construct.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
assumed-shape-callee.f90 [flang][NFC] Add misc lowering tests 2022-03-23 15:24:40 +01:00
assumed-shape-caller.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
attributes.f90 [flang][NFC] Add misc lowering tests 2022-03-23 15:24:40 +01:00
basic-call.f90 [flang] Lower function and subroutine calls 2022-02-23 19:50:06 +01:00
basic-function.f90 [flang] Lower simple character return 2022-02-25 18:23:13 +01:00
basic-program.f90 [flang] Initial lowering for empty program 2022-01-28 22:39:58 +01:00
basic-subroutine.f90 [flang] Add lowering for basic empty SUBROUTINE 2022-02-01 15:28:18 +01:00
bbcnull.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
c-interoperability-bindc-variables.f90 [flang] Handle BINC(C) variables and add TODO for corner cases 2022-06-22 20:47:23 +02:00
c-interoperability.f90 [flang] Add lowering C interoperability test 2022-03-23 15:23:34 +01:00
call-by-value-attr.f90 [flang] Fix one corner case in reshape intrinsic 2022-06-30 23:52:44 +08:00
call-by-value.f90 [flang][NFC] Add call lowering tests 2022-03-23 15:27:17 +01:00
call-copy-in-out.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
call-implicit.f90 [flang][NFC] Add call lowering tests 2022-03-23 15:27:17 +01:00
call-parenthesized-arg.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
call-site-mangling.f90 [flang] Handle BINC(C) variables and add TODO for corner cases 2022-06-22 20:47:23 +02:00
call-suspect.f90 [flang][NFC] Add call lowering tests 2022-03-23 15:27:17 +01:00
call.f90 [flang][NFC] Add call lowering tests 2022-03-23 15:27:17 +01:00
character-assignment.f90 [flang] Update memcpy intrinsic mangling for opaque pointers 2022-06-02 12:11:13 +02:00
character-compare.f90 [flang][NFC] Add character lowering tests 2022-03-23 15:28:29 +01:00
character-concatenation.f90 [flang] Update memcpy intrinsic mangling for opaque pointers 2022-06-02 12:11:13 +02:00
character-elemental.f90 [flang][NFC] Add character lowering tests 2022-03-23 15:28:29 +01:00
character-local-variables.f90 [flang][lowering] Handle zero extent case in LBOUND 2022-03-25 18:05:54 +01:00
character-substrings.f90 [flang] Update memcpy intrinsic mangling for opaque pointers 2022-06-02 12:11:13 +02:00
common-block-2.f90 [flang] Handle common block with different sizes in same file 2022-04-29 14:52:47 +02:00
common-block.f90 [flang][driver] Make `flang-new -fc1` accept MLIR files 2022-06-10 10:58:54 +00:00
compiler-directive.f90 [flang][lowering] Ignore compiler directives 2022-06-10 15:26:49 +00:00
complex-operations.f90 [flang][NFC] Add complex operations lowering tests 2022-02-28 21:37:34 +01:00
complex-part.f90 [mlir][flang] Make use of the new `GEPArg` builder of GEP Op to simplify code 2022-08-01 17:22:55 +02:00
components.f90 [flang] Fix one corner case in reshape intrinsic 2022-06-30 23:52:44 +08:00
computed-goto.f90 [flang][NFC] Add more lowering tests 2022-03-24 00:09:06 +01:00
control-flow.f90 [flang][NFC] Add more lowering tests 2022-03-24 00:09:06 +01:00
default-initialization-globals.f90 [flang][NFC] Add global lowering tests 2022-03-23 17:02:15 +01:00
default-initialization.f90 [flang] Do not pass derived type by descriptor when not needed 2022-04-20 10:00:34 +02:00
dense-attributed-array.f90 [flang][NFC] Add more lowering tests 2022-03-24 00:09:06 +01:00
derived-allocatable-components.f90 [flang] Fix one corner case in reshape intrinsic 2022-06-30 23:52:44 +08:00
derived-assignments.f90 Fixes assertion that arose from bad FIR being constructed. 2022-06-10 08:11:43 +02:00
derived-pointer-components.f90 [flang] Fix one corner case in reshape intrinsic 2022-06-30 23:52:44 +08:00
derived-type-descriptor.f90 [flang][driver] Generate run-time type info 2022-06-09 09:38:12 +00:00
derived-types-kind-params.f90 [flang] Fold instantiated PDT character component length when needed 2022-04-04 09:47:15 +02:00
derived-types.f90 [flang][NFC] Unify todo messages 2022-06-20 15:44:20 +02:00
do_loop.f90 [flang] Upstream lowering of real control loops 2022-06-01 08:00:45 +00:00
do_loop_unstructured.f90 [Flang] Lower Unstructured do loops 2022-05-06 09:17:44 +00:00
dummy-argument-contiguous.f90 [flang] Add more lowering tests for dummy arguments 2022-03-17 17:14:57 +01:00
dummy-argument-derived.f90 [flang] Do not pass derived type by descriptor when not needed 2022-04-20 10:00:34 +02:00
dummy-argument-optional-2.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
dummy-argument-optional.f90 [flang] Add more lowering tests for dummy arguments 2022-03-17 17:14:57 +01:00
dummy-arguments.f90 [flang] Add more lowering tests for dummy arguments 2022-03-17 17:14:57 +01:00
dummy-procedure-character.f90 [flang] Address regression (calls to assumed-length character function dummy procedures) 2022-05-25 12:00:07 -07:00
dummy-procedure-in-entry.f90 [flang] Catch calls to assumed-length character functions 2022-05-24 12:53:32 -07:00
dummy-procedure.f90 [flang] Try to lower math intrinsics to math operations first. 2022-07-22 09:04:44 -07:00
entry-statement.f90 [flang] Update memcpy intrinsic mangling for opaque pointers 2022-06-02 12:11:13 +02:00
equivalence-1.f90 [flang] Add equivalence lowering tests 2022-03-17 17:16:19 +01:00
equivalence-2.f90 [flang] Add equivalence lowering tests 2022-03-17 17:16:19 +01:00
equivalence-static-init.f90 [flang] Add equivalence lowering tests 2022-03-17 17:16:19 +01:00
explicit-interface-results-2.f90 [flang][NFC] Add lowering tests for interfaces 2022-03-23 23:02:44 +01:00
explicit-interface-results.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
ext-proc-as-actual-argument-1.f90 [flang] Support external procedure passed as actual argument with implicit character type 2022-05-06 22:14:51 +08:00
ext-proc-as-actual-argument-2.f90 [flang] Support external procedure passed as actual argument with implicit character type 2022-05-06 22:14:51 +08:00
extent_triplets.f90 [flang] Avoid segfault when defining op is not a fir::Convert 2022-07-04 16:03:02 +02:00
fail_image.f90 [Flang] Lower the FailImage Statement 2022-04-27 12:20:25 +00:00
format-statement.f90 [flang] Lower format statement 2022-03-14 18:15:32 +01:00
global-format-strings.f90 [flang][NFC] Add global lowering tests 2022-03-23 17:02:15 +01:00
global-initialization.f90 [flang][NFC] Add global lowering tests 2022-03-23 17:02:15 +01:00
goto-statement.f90 [Flang] Add support for lowering the goto statement 2022-02-09 09:48:13 +00:00
host-associated-functions.f90 [flang] Capture result interface of functions called in internal procedures 2022-06-22 22:32:52 +02:00
host-associated.f90 [mlir][arith] cmpi: move constant to the right side 2022-07-22 12:39:17 +02:00
identical-block-merge-disable.f90 [flang][NFC] Add more lowering tests 2022-03-24 00:09:06 +01:00
ifconvert.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
implicit-interface.f90 [flang][NFC] Add lowering tests for interfaces 2022-03-23 23:02:44 +01:00
infinite_loop.f90 [Flang] Lower the infinite do loop 2022-06-01 12:06:40 +00:00
integer-operations.f90 [flang] Lower integer comparison operation 2022-02-25 21:01:27 +01:00
intrinsic-procedure-wrappers.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
io-implied-do-fixes.f90 [flang][NFC] Add IO lowering tests 2022-06-27 15:01:33 +02:00
io-item-list.f90 [flang] Fix one corner case in reshape intrinsic 2022-06-30 23:52:44 +08:00
io-statement-1.f90 [flang] Add correct number of args for wait 2022-07-01 10:16:36 +02:00
io-statement-2.f90 [flang] Handle dynamic array lowering 2022-03-01 22:29:49 +01:00
io-statement-3.f90 [flang] Add IO lowering test 2022-03-17 17:00:13 +01:00
io-statement-big-unit-checks.f90 [flang][NFC] Add IO lowering tests 2022-06-27 15:01:33 +02:00
io-statement-clean-ups.f90 [flang][NFC] Add IO lowering tests 2022-06-27 15:01:33 +02:00
irreducible.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
logical-as-fortran.f90 [flang][NFC] Add more lowering tests 2022-03-24 00:09:06 +01:00
logical-operations.f90 [flang] Lower logical comparison and logical operations 2022-02-25 21:05:44 +01:00
loops.f90 [flang]Add support for do concurrent 2022-06-13 12:28:49 +01:00
loops2.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
math-lowering.f90 [flang] Remove fp128 support for llvm.round and llvm.trunc 2022-07-26 20:21:51 +08:00
memory-alloc.f90 [flang] Fix for array upper bounds with * 2022-06-30 10:37:22 +02:00
mixed_loops.f90 [flang] Upstream the lowering of the while loop 2022-05-31 07:27:16 +00:00
module-and-internal-proc.f90 [flang][NFC] Add module lowering tests 2022-03-23 17:51:09 +01:00
module-single-point-of-def.f90 [flang][NFC] Add module lowering tests 2022-03-23 17:51:09 +01:00
module_definition.f90 [flang] Handle common block with different sizes in same file 2022-04-29 14:52:47 +02:00
module_use.f90 [flang] Handle common block with different sizes in same file 2022-04-29 14:52:47 +02:00
module_use_in_same_file.f90 [flang][NFC] Add module lowering tests 2022-03-23 17:51:09 +01:00
namelist.f90 [flang][NFC] Add namelist lowering test 2022-03-23 16:52:44 +01:00
nested-where.f90 [flang][NFC] Add nested where lowering test 2022-03-23 17:04:18 +01:00
non-standard-extensions.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
nullify.f90 [flang][NFC] Fix lowering tests indent 2022-03-23 09:24:18 +01:00
optional-value-caller.f90 [flang] Lowering passing variables to OPTIONAL VALUE 2022-06-23 13:45:40 +02:00
pause-statement.f90 [flang] Lower PAUSE statement 2022-02-02 08:16:12 +01:00
pointer-args-caller.f90 [flang] Add one semantic check for allocatable/pointer argument association 2022-04-04 23:16:30 +08:00
pointer-assignments.f90 [flang] Fix one corner case in reshape intrinsic 2022-06-30 23:52:44 +08:00
pointer-disassociate.f90 [flang][NFC] Add pointer dummy arguments tests 2022-03-22 20:57:15 +01:00
pointer-initial-target-2.f90 [flang] Handle common block with different sizes in same file 2022-04-29 14:52:47 +02:00
pointer-initial-target.f90 [flang] Fix one corner case in reshape intrinsic 2022-06-30 23:52:44 +08:00
pointer-references.f90 [flang] Update memcpy intrinsic mangling for opaque pointers 2022-06-02 12:11:13 +02:00
pointer-results-as-arguments.f90 [flang][NFC] Add pointer dummy arguments tests 2022-03-22 20:57:15 +01:00
pointer-runtime.f90 [flang][NFC] Add pointer dummy arguments tests 2022-03-22 20:57:15 +01:00
pointer.f90 [flang][NFC] Add pointer dummy arguments tests 2022-03-22 20:57:15 +01:00
power-operator.f90 [flang] Try to lower math intrinsics to math operations first. 2022-07-22 09:04:44 -07:00
pre-fir-tree01.f90 [flang] Update PFTBuilder 2022-02-22 19:09:28 +01:00
pre-fir-tree02.f90 [flang] Update PFTBuilder 2022-02-22 19:09:28 +01:00
pre-fir-tree03.f90 [flang] Make the frontend driver error out when requesting multiple actions 2021-12-17 10:05:28 +00:00
pre-fir-tree04.f90 [Flang] Lower the FailImage Statement 2022-04-27 12:20:25 +00:00
pre-fir-tree05.f90 [flang] Update PFTBuilder 2022-02-22 19:09:28 +01:00
pre-fir-tree06.f90 [flang] Fix processing ModuleLikeUnit evaluationList 2022-03-11 15:20:23 +08:00
pre-fir-tree07.f90 [flang] Support for dump OpenMP/OpenACC declarative directives PFT in module 2022-03-11 14:33:17 +08:00
procedure-declarations.f90 [flang] Lower boxed procedure 2022-03-22 15:41:11 +01:00
program-units-fir-mangling.f90 [flang] Switch attr name to bindc_name 2022-06-29 14:20:35 +02:00
read-write-buffer.f90 [flang][NFC] Fix lowering tests indent 2022-03-23 09:24:18 +01:00
real-operations-1.f90 [flang] Lower real comparison operations 2022-02-25 21:03:39 +01:00
real-operations-2.f90 [flang] Lower real comparison operations 2022-02-25 21:03:39 +01:00
return-statement.f90 [flang] Lower simple RETURN statement 2022-02-10 18:36:04 +01:00
select-case-statement.f90 [Flang] Set constructExit for Where and Forall constructs 2022-07-15 12:34:28 -07:00
sqrt.f90 [flang] Try to lower math intrinsics to math operations first. 2022-07-22 09:04:44 -07:00
statement-function.f90 [flang][NFC] Fix lowering tests indent 2022-03-23 09:24:18 +01:00
stop-statement.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
structure-constructors.f90 [flang] Fix one corner case in reshape intrinsic 2022-06-30 23:52:44 +08:00
transformational-intrinsics.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
trigonometric-intrinsics.f90 [flang] Try to lower math intrinsics to math operations first. 2022-07-22 09:04:44 -07:00
user-defined-operators.f90 [flang][NFC] Add lowering tests 2022-03-18 14:48:56 +01:00
variable-inquiries.f90 [flang][NFC] Add lowering tests 2022-03-18 14:48:56 +01:00
variable.f90 [flang][NFC] Add lowering tests 2022-03-18 14:48:56 +01:00
vector-subscript-io.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
where.f90 [flang] Add lowering tests 2022-06-28 15:22:21 +02:00
while_loop.f90 [flang] Upstream the lowering of the while loop 2022-05-31 07:27:16 +00:00
zero-size.f90 [flang][NFC] Add lowering tests 2022-03-18 14:48:56 +01:00