| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[flang][driver] Bring --gcc-triple to flang (#165886) When there are multiple gcc versions installed, we want flang to be able to find the right one based on the triple. Here's flang selecting an unwanted gcc candidate installation, namely /usr/lib/gcc/x86_64-linux-gnu/15: ~/src/llvm-project/main/build-RelWithDebInfo > ./bin/flang -v flang version 22.0.0custombuild Target: x86_64-redhat-linux-gnu Thread model: posix InstalledDir: /home/fedora/src/llvm-project/main/build-RelWithDebInfo/bin System configuration file directory: /etc/clang/ Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/15 Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/15 Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/15 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Selected multilib: .;@m64 When passing --gcc-triple=x86_64-redhat-linux we get the desired gcc candidate installation: ~/src/llvm-project/main/build-RelWithDebInfo > ./bin/flang --gcc-triple=x86_64-redhat-linux -v flang version 22.0.0custombuild Target: x86_64-redhat-linux-gnu Thread model: posix InstalledDir: /home/fedora/src/llvm-project/main/build-RelWithDebInfo/bin System configuration file directory: /etc/clang/ Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/15 Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/15 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Selected multilib: .;@m64 * Test: LIT_FILTER="Flang :: Driver/gcc-triple.f90" ninja check-flang * Copied flang/test/Driver/Inputs/fedora_39_tree from clang/test/Driver/Inputs/fedora_39_tree. * Testing what default triple is selected when two are possible. * Testing that we can select an existing triple. * Testing that triple is not selected if it doesn't exist. | 9 个月前 | |
[flang] Complete alignment of -x language modes with gfortran (#133775) | 1 年前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[Flang][Driver] Enable the -B option (#109965) The option provides the search prefix for executables, libraries and data files. The option is implemented in the common portion of the Driver and only needs to be enabled in Flang. Test added is a copy of the relevant test in Clang. | 1 年前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[flang]Add vscale argument parsing (#67676) Support for vector scale range arguments, for AArch64 scalable vector extension (SVE) support. Adds -msve-vector-bits to the flang frontend, and for flang fc1 the options are -mvscale-min and -mvscale-max (optional). These match the clang and clang cc1 options for the same purposes. A further patch will actually USE these arguments. | 2 年前 | |
[flang][Driver] When linking with the Fortran runtime, the addArchSpecificRPath() should be called too (#114837) When linking with other runtimes (OpenMP, sanitizers), the addArchSpecificRPath() is being called. The same thing should happen when linking with the Fortran runtime, this will improve user experience massively. | 1 年前 | |
Exclude some run options on AIX. (#156376) Those excluded run options failed on AIX. | 11 个月前 | |
[flang] Link to libatomic with openmp and rtlib=libgcc (#112202) Currently when using OpenMP atomics we depend on some symbols from libatomic. These symbols are provided in a separate library for the libgcc runtime, so we should link to that when rtlib=libgcc. For the compiler-rt case, the presence and location of the symbols is dependent on how compiler-rt itself was built so we cannot make that decision for the user. As such no extra flags are added in that case. | 1 年前 | |
Enable CUDA Fortran for bbc | 3 年前 | |
[Flang] Add new ConvertComplexPow pass for Flang (#158642) This PR introduces a new ConvertComplexPow pass for Flang that handles complex power operations. The change forces lowering to complex.pow operations when --math-runtime=precise is not used, then uses the ConvertComplexPow pass to convert these operations back to library calls. - Adds a new ConvertComplexPow pass that converts complex.pow ops to appropriate runtime library calls - Updates complex power lowering to use complex.pow operations by default instead of direct library calls #158722 Adds a new complex.powi op enabling algebraic optimisations. | 11 个月前 | |
[flang][OpenMP] Remove recognition of versions 3.0 and older (#145708) The oldest supported version is now 3.1. In terms of semantic analysis the compiler treats all versions <= 4.5 identically, and there is no plan to add version-specific checks for older versions. See discourse thread: https://discourse.llvm.org/t/rfc-remove-openmp-versions-prior-to-3-1/86901 | 1 年前 | |
[Flang][Driver][NFC] Improve -emit-obj unit tests Instead of looking for the existence of a ret instruction after disassembly as a way to check that the right ISA is present in the produced binary, check instead the ELF header of the file. This is a more reliable solution, since the alternative can easily result in false positives. Differential Revision: https://reviews.llvm.org/D149578 | 3 年前 | |
[Flang][Driver][NFC] Improve -emit-obj unit tests Instead of looking for the existence of a ret instruction after disassembly as a way to check that the right ISA is present in the produced binary, check instead the ELF header of the file. This is a more reliable solution, since the alternative can easily result in false positives. Differential Revision: https://reviews.llvm.org/D149578 | 3 年前 | |
[Flang][Driver][NFC] Improve -emit-obj unit tests Instead of looking for the existence of a ret instruction after disassembly as a way to check that the right ISA is present in the produced binary, check instead the ELF header of the file. This is a more reliable solution, since the alternative can easily result in false positives. Differential Revision: https://reviews.llvm.org/D149578 | 3 年前 | |
[Flang][Driver][AMDGPU] Fix -mcode-object-version (#134230) This patch updates flang to follow clang's behavior when processing the -mcode-object-version option. It is now used to populate an LLVM module flag called amdhsa_code_object_version expected by the backend and also updates the driver to add the --amdhsa-code-object-version option to the frontend invocation for device compilation of AMDGPU targets. | 1 年前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[Flang] Make all tests work with lit's internal shell This patch removes REQUIRES: shell lines and updates the tests to not need a shell, or adds REQUIRES lines for Linux where relevant. A lot of these seem to have gotten introduced in 58c3f20bbf51f454ffb38ddb700a1d5ad374dc7b, but many are no longer relevant as these tests no longer use shell scripts. There was one test (missing_newline.f90) that needed to be modified to work. Lit doesn't recognize -ne correctly for echo and the options need to be split into separate flags. Reviewers: clementval, Meinersbur, kiranchandramohan, klausler Reviewed By: clementval Pull Request: https://github.com/llvm/llvm-project/pull/156115 | 11 个月前 | |
[Flang] Make all tests work with lit's internal shell This patch removes REQUIRES: shell lines and updates the tests to not need a shell, or adds REQUIRES lines for Linux where relevant. A lot of these seem to have gotten introduced in 58c3f20bbf51f454ffb38ddb700a1d5ad374dc7b, but many are no longer relevant as these tests no longer use shell scripts. There was one test (missing_newline.f90) that needed to be modified to work. Lit doesn't recognize -ne correctly for echo and the options need to be split into separate flags. Reviewers: clementval, Meinersbur, kiranchandramohan, klausler Reviewed By: clementval Pull Request: https://github.com/llvm/llvm-project/pull/156115 | 11 个月前 | |
[Flang] Make all tests work with lit's internal shell This patch removes REQUIRES: shell lines and updates the tests to not need a shell, or adds REQUIRES lines for Linux where relevant. A lot of these seem to have gotten introduced in 58c3f20bbf51f454ffb38ddb700a1d5ad374dc7b, but many are no longer relevant as these tests no longer use shell scripts. There was one test (missing_newline.f90) that needed to be modified to work. Lit doesn't recognize -ne correctly for echo and the options need to be split into separate flags. Reviewers: clementval, Meinersbur, kiranchandramohan, klausler Reviewed By: clementval Pull Request: https://github.com/llvm/llvm-project/pull/156115 | 11 个月前 | |
[Flang] Make all tests work with lit's internal shell This patch removes REQUIRES: shell lines and updates the tests to not need a shell, or adds REQUIRES lines for Linux where relevant. A lot of these seem to have gotten introduced in 58c3f20bbf51f454ffb38ddb700a1d5ad374dc7b, but many are no longer relevant as these tests no longer use shell scripts. There was one test (missing_newline.f90) that needed to be modified to work. Lit doesn't recognize -ne correctly for echo and the options need to be split into separate flags. Reviewers: clementval, Meinersbur, kiranchandramohan, klausler Reviewed By: clementval Pull Request: https://github.com/llvm/llvm-project/pull/156115 | 11 个月前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[flang][driver] Accelerate complex division when -ffast-math is specified (#159689) This patch accelerates complex division by passing -complex-range=basic to the frontend when the -ffast-math option is specified. This behavior is the same as -fcomplex-arithmetic=basic. A warning is issued if a different value is specified for -fcomplex-arithmetic=. The warning conditions will be unified with clang. | 10 个月前 | |
| 1 年前 | ||
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang] Main program symbol no longer conflicts with the other symbols (#149169) The following code is now accepted: module m end program m use m end The PROGRAM name doesn't really have an effect on the compilation result, so it shouldn't result in symbol name conflicts. This change makes the main program symbol name all uppercase in the cooked character stream. This makes it distinct from all other symbol names that are all lowercase in cooked character stream. Modified the tests that were checking for lower case main program name. | 1 年前 | |
[flang][Driver] Enable support for -mmacos-version-min= (#143508) So far as I can tell this option is driver-only so we can just re-use what already exists for clang. I've added a unit test based on clang's unit test to demonstrate that the option is handled. Still TODO is to ensure that flang-rt is built with the same macos minimum version as compiler-rt. At the moment, setting the flang minimum version to older than the macos version on which flang was built will lead to link warnings because flangrt is built for version of macos on which flang was built rather than the oldest supported version (as compiler-rt is). | 1 年前 | |
[flang] Align -x language modes with gfortran (#130268) This PR addresses some of the issues described in https://github.com/llvm/llvm-project/issues/127617. Key changes: - Stop assuming fixed-form for -x f95 unless the input is a .i file. This change ensures compatibility with -save-temps workflows while preventing unintended fixed-form assumptions. - Ensure -x f95-cpp-input enables -cpp by default, aligning Flang's behavior with gfortran. | 1 年前 | |
[flang] Align -x language modes with gfortran (#130268) This PR addresses some of the issues described in https://github.com/llvm/llvm-project/issues/127617. Key changes: - Stop assuming fixed-form for -x f95 unless the input is a .i file. This change ensures compatibility with -save-temps workflows while preventing unintended fixed-form assumptions. - Ensure -x f95-cpp-input enables -cpp by default, aligning Flang's behavior with gfortran. | 1 年前 | |
[flang] Default -g to full debug info. (#89418) Currently, -g defaults to line tables only. This PR changes that to full debug information. This will allow us to test/use the upcoming debug info changes. | 2 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][openacc] Make OpenACC block construct parse errors less verbose. (#131042) This PR does reduces the verbosity of parser errors for OpenACC block constructs that do not parse correctly because they are missing their trailing end block directive by: - Removing the redundant error messages created by parsing 3 different styles of directive tokens. - Providing a general mechanism of configuring the max number of contexts printed for every syntax error. - Not printing less specific contexts that are at the same location. Prior to the changes: $ flang -fc1 -fopenacc -fsyntax-only flang/test/Parser/acc-data-statement.f90 2>&1 | tee acc-data-statement.prior.log | wc -l 262 [acc-data-statement.prior.log](https://github.com/user-attachments/files/19298165/acc-data-statement.prior.log) $ flang -fc1 -fopenacc -fsyntax-only flang/test/Parser/acc-data-statement.f90 2>&1 | tee acc-data-statement.prior.log | wc -l 73 [acc-data-statement.post.log](https://github.com/user-attachments/files/19298181/acc-data-statement.post.log) | 1 年前 | |
[flang] Honor #line and related preprocessing directives Extend the SourceFile class to take account of #line directives when computing source file positions for error messages. Adjust the output of #line directives to -E output so that they reflect any #line directives that were in the input. Differential Revision: https://reviews.llvm.org/D153910 | 3 年前 | |
[LLVM][AArch64] Enable SVEIntrinsicOpts at all optimisation levels. | 1 年前 | |
[Flang] Add support to use LTO specific pipelines Thin and full LTO modes use different pre-link pipelines compared to regular compilation. This patch adds support for calling those pipelines. This patch closely mimics Clang's implementation with the exception that I changed the codegen option name from PrepareForLTO to PrepareForFullLTO to be more precise. With this patch: - Compilation for full LTO should be as we expect (except possibly missing optimizations enabled by module summaries which we do not produce yet). - thinLTO uses the correct prelink pipeline but will use the postlink backend for fullLTO due to missing metadata and summary in the llvm module. I have added a warning regarding this: flang-new: warning: the option '-flto=thin' is a work in progress. Differential Revision: https://reviews.llvm.org/D142420 Change-Id: I6b94b775b5b8e93340e520c5cd4bf60834b2e209 | 3 年前 | |
[flang] Remove extra space added with --dependent-lib option This patch fixes a bug with the --dependent-lib option where an extra space is added to the directive causing linking to fail. | 2 年前 | |
[flang][cli] Add diagnostic flags to the CLI (#142022) This change allows the flang CLI to accept -W[no-]<feature> flags matching the clang syntax and enable and disable usage and language feature warnings. | 1 年前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[flang][test] Remove RUN COMMAND/EXPECTED OUTPUT/INPUT markers from other directories | 4 年前 | |
[flang][test] Remove RUN COMMAND/EXPECTED OUTPUT/INPUT markers from other directories | 4 年前 | |
[flang][driver] Remove flang -help tests (#89504) These tests were introduced when the Flang driver was originally incepted. Back then, flang-new only supported a handful of basic options (e.g. -v, -help, -E) and those -help tests were used to guard against Clang options "leaking" into flang-new -help. With the introduction of the concept of "visibility" (see https://reviews.llvm.org/D157837 and https://reviews.llvm.org/D157151), these tests are effectively redundant. Also, with the number of flags growing, these tests are getting rather brittle. | 2 年前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[flang] Fix crash under -fdebug-dump-all (#66224) The -fdebug-dump-all flag invokes runtime type information generation even for a program with fatal semantic errors. This could cause a crash on a failed CHECK(), since the type information table generator assumes a correct program. Make it more resilient for a known fatal case. (But if we hit many more of these, we should look into not generating the runtime type information tables under this flag.) | 2 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][test] Fix filecheck annotation typos (#92387) | 1 年前 | |
[flang][driver] support -dumpversion and -dumpmachine (#68896) Match GCC driver. GCC has -cc1/-fc1 support too, but this patch does not address that. | 2 年前 | |
[NFC][flang] Fix driver linker tests on Windows (#116667) | 1 年前 | |
[flang][driver] Add support for -embed-offload-object flag in flang This patch adds support for the -embed-offload-object flag to embed offloading binaries in host code. This flag is identical to the clang flag with the same name. Differential Revision: https://reviews.llvm.org/D142244 Reviewed By: awarzynski, jhuber6 | 3 年前 | |
Unsupport flang/test/Driver/embed.f90 on Windows The test fails due to Windows' line-endings, and it's blocking pre-checkin tests. | 1 年前 | |
[mlir:LLVM] Rewrite the LLVMIR export to use the debug info attributes This has been a long standing TODO, and actually enables users to generate debug information for LLVM using the LLVM dialect; as opposed to our dummy placeholder that generated just enough for line table information. Differential Revision: https://reviews.llvm.org/D136543 | 3 年前 | |
[flang][test] Remove RUN COMMANDS/EXPECTED OUTPUT/INPUT markers from test/Driver Uses of these markers are contrary to all other llvm-project subprojects and carry no information for people who know the basics of a lit test. I understand that there is an argument "this makes beginners get started quickly" but I am unsure whether this is strong enough to deviate from all other projects. https://llvm.org/docs/TestingGuide.html covers the basics. Actually, some contributors were confused by the markers. Differential Revision: https://reviews.llvm.org/D128763 | 4 年前 | |
[flang][test] Remove RUN COMMANDS/EXPECTED OUTPUT/INPUT markers from test/Driver Uses of these markers are contrary to all other llvm-project subprojects and carry no information for people who know the basics of a lit test. I understand that there is an argument "this makes beginners get started quickly" but I am unsure whether this is strong enough to deviate from all other projects. https://llvm.org/docs/TestingGuide.html covers the basics. Actually, some contributors were confused by the markers. Differential Revision: https://reviews.llvm.org/D128763 | 4 年前 | |
[Flang] Restrict emit-asm-from-mlir.mlir to be ran on specific targets using 'target=...' This patch aims to restrict the emit-asm-from-mlir.mlir test to the targets that the test cases expect using the 'target=...' LIT expression. rG9067de2a43145411eff8b7782a404c5834249717 has previously attempted to resolve the LIT failure on the ppc64le-flang-rhel-clang buildbot coming from the emit-asm-from-mlir.mlir test by restricting the test case for AArch64, x86 and ARM (as long as these targets are built). The original solution of adding "*-registered-target" works on ppc64le-flang-rhel-clang because this bot only builds PowerPC in LLVM_TARGETS_TO_BUILD. When we build all targets and also build the flang project, this test case will fail because despite being on PowerPC, we are still building the AArch64, x86 and ARM targets which will cause this test to run. These targets expect the ret instruction to be produced in this test case, while PowerPC produces a blr instead. Differential Revision: https://reviews.llvm.org/D143366 | 3 年前 | |
[mlir:LLVM] Rewrite the LLVMIR export to use the debug info attributes This has been a long standing TODO, and actually enables users to generate debug information for LLVM using the LLVM dialect; as opposed to our dummy placeholder that generated just enough for line table information. Differential Revision: https://reviews.llvm.org/D136543 | 3 年前 | |
[flang][test] Remove RUN COMMANDS/EXPECTED OUTPUT/INPUT markers from test/Driver Uses of these markers are contrary to all other llvm-project subprojects and carry no information for people who know the basics of a lit test. I understand that there is an argument "this makes beginners get started quickly" but I am unsure whether this is strong enough to deviate from all other projects. https://llvm.org/docs/TestingGuide.html covers the basics. Actually, some contributors were confused by the markers. Differential Revision: https://reviews.llvm.org/D128763 | 4 年前 | |
[Flang][Driver]Add datalayout before doing LLVM-IR transformation The earlier available datalyaout allows MLIR to LLVM-IR transformation to use the datalayout for decisions, such as comparing sizes for different types of integers. This should solve https://github.com/llvm/llvm-project/issues/57230 Reviewed By: awarzynski, vzakhari Differential Revision: https://reviews.llvm.org/D133568 | 3 年前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[flang][driver] Add support for -isysroot in the frontend (#77365) If DEFAULT_SYSROOT is not specfied when building flang, then the -isysroot flag is needed to link binaries against system libraries on Darwin. It's also needed when linking against a non-default sysroot. | 2 年前 | |
[Flang][Driver] Deprecate Ofast (#101701) This is subject to agreement by the Flang community (https://discourse.llvm.org/t/rfc-deprecate-ofast-in-flang/80243). | 1 年前 | |
[Flang] Add -ffast-real-mod back for further control of MOD optimizations (#167118) It turns out that having -ffast-math as the only option to control optimizations for MOD for REAL kinds (PR #160660) is too coarse-grained for some applications. Thus, this PR adds back -ffast-real-mod to have more control over the optimization. The -ffast-math flag will still enable the optimization, and -fno-fast-real-mod allows one to disable it. | 9 个月前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[flang][driver] -Werror promotes warnings to error and interopts with -Wfatal-errors (#148748) This PR changes how -Werror promotes warnings to errors so that it interoperates with -Wfatal-error. It maintains the property that warnings and other messages promoted to errors are displayed as there original message. | 1 年前 | |
[flang][Driver] Enables lto-partitions and fat-lto-object. (#158125) | 11 个月前 | |
[flang][driver] Introduce FCC_OVERRIDE_OPTIONS. (#140556) This PR add functionality to change flang command line using environment variable FCC_OVERRIDE_OPTIONS. It is quite similar to what CCC_OVERRIDE_OPTIONS does for clang. The FCC_OVERRIDE_OPTIONS seemed like the most obvious name to me but I am open to other ideas. The applyOverrideOptions now takes an extra argument that is the name of the environment variable. Previously CCC_OVERRIDE_OPTIONS was hardcoded. | 1 年前 | |
[flang][Driver] Add support of -fd-lines-as-comments and -fd-lines-as-code flags (#127605) -fd-lines-as-code and -fd-lines-as-comments enables treatment for lines beginning with d or D in fixed form sources. Using these options in free form has no effect. If the -fd-lines-as-code option is given they are treated as if the first column contained a blank. If the -fd-lines-as-comments option is given, they are treated as comment lines. | 1 年前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[flang][driver] Ensure negative flags have the same visibility as positive https://reviews.llvm.org/D157151 and https://reviews.llvm.org/D157837 added visibility flags to flang options, hiding options which are supported only in Clang and not in Flang. After this change, some negative flags e.g. -fno-reciprocal-math no longer work with flang. These flags are supported in flang (as can be seen from the support for the positive flags). I also opted to make sure the clang visibility is the same on these flags, although I did not look at changing the visibility of non-flang flags. Differential Revision: https://reviews.llvm.org/D158612 | 2 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang] Disable -gdwarf-5 tests on AIX. (#159533) After recent addition of -gdwarf-N options in flang, I saw that newly added tests failing on AIX bot. The gdwarf-5 option is not supported on that platform. Disabling the dwarf-5 tests on AIX for now. | 11 个月前 | |
[flang][driver] Use -Xflang in diagnostics When an option that is only available in flang -fc1 is provided to flang, emit a diagnostic with a suggestion containing "did you mean -Xflang '-foo'". Partially addresses #163550. | 9 个月前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[flang][OpenMP] Remove recognition of versions 3.0 and older (#145708) The oldest supported version is now 3.1. In terms of semantic analysis the compiler treats all versions <= 4.5 identically, and there is no plan to add version-specific checks for older versions. See discourse thread: https://discourse.llvm.org/t/rfc-remove-openmp-versions-prior-to-3-1/86901 | 1 年前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
| 1 年前 | ||
| 1 年前 | ||
[flang][OpenMP] Add -f[no]-openmp-simd (#150269) Both clang and gfortran support the -fopenmp-simd flag, which enables OpenMP support only for simd constructs, while disabling the rest of OpenMP. Implement the appropriate parse tree rewriting to remove non-SIMD OpenMP constructs at the parsing stage. Add a new SimdOnly flang OpenMP IR pass which rewrites generated OpenMP FIR to handle untangling composite simd constructs, and clean up OpenMP operations leftover after the parse tree rewriting stage. With this approach, the two parts of the logic required to make the flag work can be self-contained within the parse tree rewriter and the MLIR pass, respectively. It does not need to be implemented within the core lowering logic itself. The flag is expected to have no effect if -fopenmp is passed explicitly, and is only expected to remove OpenMP constructs, not things like OpenMP library functions calls. This matches the behaviour of other compilers. --------- Signed-off-by: Kajetan Puchalski <kajetan.puchalski@arm.com> | 1 年前 | |
[Frontend][OpenMP] Add 6.1 as a valid OpenMP version (#153628) Co-authored-by: Michael Klemm <michael.klemm@amd.com> | 1 年前 | |
[flang][OpenMP] Remove experimental warning (#144915) RFC: https://discourse.llvm.org/t/rfc-removing-the-openmp-experimental-warning-for-llvm-21/86455 Fixes: #110008 | 1 年前 | |
Add FramePointerKind::NonLeafNoReserve (#163775) This patch adds a new FramePointerKind::NonLeafNoReserve and makes it the default for -momit-leaf-frame-pointer. It also adds a new commandline option -m[no-]reserve-frame-pointer-reg. This should fix #154379, the main impact of this patch can be found in clang/lib/Driver/ToolChains/CommonArgs.cpp. | 9 个月前 | |
[flang] Support -f[no-]realloc-lhs. (#120165) -frealloc-lhs is the default. If -fno-realloc-lhs is specified, then an allocatable on the left side of an intrinsic assignment is not implicitly (re)allocated to conform with the right hand side. Fortran runtime will issue an error if there is a mismatch in shape/type/allocation-status. | 1 年前 | |
| 1 年前 | ||
[flang] Added driver options for arrays repacking. (#134002) Added options: * -f[no-]repack-arrays * -f[no-]stack-repack-arrays * -frepack-arrays-contiguity=whole/innermost | 1 年前 | |
[flang] Added driver options for arrays repacking. (#134002) Added options: * -f[no-]repack-arrays * -f[no-]stack-repack-arrays * -frepack-arrays-contiguity=whole/innermost | 1 年前 | |
[flang] Don't check the '-mframe-pointer' flag (#147837) The -mframe-pointer flag is not explicitly set in the original flang invocation and so the value passed to flang -fc1 can vary depending on the host machine, so don't verify it in the output. -mframe-pointer forwarding is already verified by flang/test/Driver/frame-pointer-forwarding.f90. | 1 年前 | |
[flang][driver] add negative from of -fsave-main-program (#124110) Add the -fno form for consistency and to make it easy to switch the default for downstream users. | 1 年前 | |
[Flang] Add support for fsave-optimization-record Add support for generating and saving the optimization record. Optimization record lists the optimizations performed by LLVM. This patch enables the flag in Flang. Clang handles this functionality using the BackendConsumer which Flang doesn't have, hence, was implemented in CodeGenAction::executeAction FlangOption added to all variants of fsave-optimization-record in clang/include/clang/Driver/Options.td . Clang handles it the same way. opt_record_file, opt_record_passes and opt_record_format flags in Options.td were moved out of the group [CC1Option, NoDriverOption] to allow flang -fc1 support. The renderRemarksOptions and willEmitRemarks functions in clang/lib/Driver/ToolChains/Flang.cpp follow same syntax as clang. In flang/lib/Frontend/CompilerInvocation.cpp we update the field OptRecordFile with the provided optimization file value. Clang doesn't do this as it processes the Options.td, mapping the OptRecordFile earlier on. Reviewed By: awarzynski, tblah Differential Revision: https://reviews.llvm.org/D155452 | 3 年前 | |
[flang] Added driver options for arrays repacking. (#134002) Added options: * -f[no-]repack-arrays * -f[no-]stack-repack-arrays * -frepack-arrays-contiguity=whole/innermost | 1 年前 | |
[flang] Remove "unsafe-fp-math" attribute support (#162783) These global flags block furthur improvements for clang, users should always use fast-math flags see also https://discourse.llvm.org/t/rfc-honor-pragmas-with-ffp-contract-fast/80797 Remove them incrementally, this is the flang part. | 10 个月前 | |
[flang][flang-driver] Support flag -finstrument-functions (#137996) | 1 年前 | |
[flang] Correctly handle -mframe-pointer=reserved (#146937) Fixes #146802 #146582 started using the Reserved Frame Pointer kind for Arm64 Windows, but this revealed a bug in Flang where it copied the -mframe-pointer=reserved flag from Clang, but didn't correctly handle it in its own command line parser and subsequent compilation pipeline. This change adds support for -mframe-pointer=reserved and adds a test to make sure that functions are correctly marked when the flag is set. | 1 年前 | |
[flang] Add -f[no-]unroll-loops flag (#122906) | 1 年前 | |
[Flang][AArch64][VecLib] Add libmvec support for Flang/AArch64 (#146453) -fveclib=libmvec for AArch64 (NEON and SVE) in Clang was supported by #143696. This patch does the same for Flang. Vector functions defined in libmvec are used for the following Fortran operator and functions currently. - Power operator (**) - Fortran intrinsic functions listed below for real(kind=4) and real(kind=8) (including their coresponding specific intrinsic functions) - Fortran intrinsic functions which are expanded using functions listed below (for example, sin for complex(kind=8)) sin tan cos asin acos atan (both atan(x) and atan(y, x)) atan2 cosh tanh asinh acosh atanh erf erfc exp log log10 As with Clang/AArch64, glibc 2.40 or higher is required to use all these functions. | 1 年前 | |
[Flang][AArch64][VecLib] Add libmvec support for Flang/AArch64 (#146453) -fveclib=libmvec for AArch64 (NEON and SVE) in Clang was supported by #143696. This patch does the same for Flang. Vector functions defined in libmvec are used for the following Fortran operator and functions currently. - Power operator (**) - Fortran intrinsic functions listed below for real(kind=4) and real(kind=8) (including their coresponding specific intrinsic functions) - Fortran intrinsic functions which are expanded using functions listed below (for example, sin for complex(kind=8)) sin tan cos asin acos atan (both atan(x) and atan(y, x)) atan2 cosh tanh asinh acosh atanh erf erfc exp log log10 As with Clang/AArch64, glibc 2.40 or higher is required to use all these functions. | 1 年前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[AIX] unsupport gcc triple test case on aix NFC (#166408) This new test case breaks the buildbot starting https://lab.llvm.org/buildbot/#/builders/201/builds/6934. The corresponding clang test case sets the target triple to avoid failures. | 9 个月前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[flang][driver] support -dumpversion and -dumpmachine (#68896) Match GCC driver. GCC has -cc1/-fc1 support too, but this patch does not address that. | 2 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][preprocessor] Change handling of macros in text from Fortran … (#108113) …INCLUDE lines The compiler current treats an INCLUDE line as essentially a synonym for a preprocessing #include directive. The causes macros that have been defined at the point where the INCLUDE line is processed to be replaced within the text of the included file. This behavior is surprising to users who expect an INCLUDE line to be expanded into its contents *after* preprocessing has been applied to the original source file, with no further macro expansion. Change INCLUDE line processing to use a fresh instance of Preprocessor containing no macro definitions except _CUDA in CUDA Fortran compilations and, if the original file was being preprocessed, the standard definitions of __FILE__, __LINE__, and so forth. | 1 年前 | |
[flang][OpenMP] Re-enable tests when building OpenMP as a runtime (#89046) | 2 年前 | |
[flang][nfc] Remove flang-new-driver from LIT After merging https://reviews.llvm.org/D105811, flang-new-driver is no longer required. Differential Revision: https://reviews.llvm.org/D107990 | 4 年前 | |
[flang][nfc] Relocate a few driver tests When the work on the Flang driver started, we created 2 test directories: * flang/test/Frontend/ * flang/test/Driver/ That was mostly done to model what Clang was doing. In practice, we stopped using "flang/test/Frontend/" early on and most Flang driver tests are currently located in "flang/test/Driver/". This patch moves the remaining tests from the latter into the former directory. This change also means that we can re-use test input files, i.e. flang/test/Frontend/Inputs/hello-world.f90 can be replaced with flang/test/Driver/Inputs/hello.f90. To this end, the affected test is updated (multiple-input-files.f90). Differential Revision: https://reviews.llvm.org/D130633 | 3 年前 | |
[flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (#110061) This patch introduces the options for integer overflow flags into Flang. The behavior is similar to that of Clang. | 1 年前 | |
[Flang] Add -fintrinsic-modules-path= alias (#149417) Add the syntax -fintrinsic-modules-path=<dir> as an alias to the existing option -fintrinsic-modules-path <dir>. gfortran also supports both alternatives. This is particularly useful with CMake which de-duplicates command-line options. For instance, -fintrinsic-modules-path /path/A -fintrinsic-modules-path /path/B is de-duplicated to -fintrinsic-modules-path /path/A /path/B since it conisiders the second -fintrinsic-modules-path "redundant". This can be avoided using the syntax -fintrinsic-modules-path=/path/A -fintrinsic-modules-path=/path/B. | 1 年前 | |
[NFC][flang] Fix driver linker tests on Windows (#116667) | 1 年前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[flang][Driver] Enable FLANG_DEFAULT_LINKER (#149786) The default linker can be changed by a CMake variable CLANG_DEFAULT_LINKER. However, it also changes the default linker invoked by clang. In fact, there already exists FLANG_DEFAULT_LINKER, but it does not work. This patch fixes it. Note that FLANG_DEFAULT_LINKER will have the same value as CLANG_DEFAULT_LINKER unless it is defined explicitly. That means this patch does not affect the current behavior. Fixes #73153 --------- Co-authored-by: Michael Kruse <github@meinersbur.de> | 1 年前 | |
[flang][Driver] Enable -pie and -no-pie in flang's driver Passing -pie to flang will pass the flag on to the linker. Passing -no-pie will ensure that -pie is *not* passed to the linker. This behavior is consistent with both clang and gfortran. Fixes #159970 | 9 个月前 | |
Reapply "Introduce -fexperimental-loop-fusion to clang and flang (#158844) This PR is a reapplication of https://github.com/llvm/llvm-project/pull/142686 | 11 个月前 | |
[flang] Disable loop interchange by default (#155279) Disable loop interchange by default, while keeping the ability to explicitly enable using -floop-interchange. This matches Clang. See discussion on https://github.com/llvm/llvm-project/pull/140182. | 11 个月前 | |
[Flang][Driver] Emit module summary for Full LTO (#164302) This PR enables module summary for Full LTO. Module summaries are enabled by default for Full LTO in clang, this change makes the flang behaviour consistent. Reference PR: https://reviews.llvm.org/D34156 | 10 个月前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[Flang] NFC: Require lld for an lld test (#160320) | 11 个月前 | |
Enable -m32, -maix32 and -maix64 for Flang on AIX. (#136202) This PR enables -m32, -maix32 and -maix64 for AIX only. For other platforms, the driver will issue an error that -m32 is not supported. | 1 年前 | |
[flang] Expose -m64 option (#132409) Exposes -m64 option for Flang. These options can be used to build libraries or tools (e.g. OpenBlas). | 1 年前 | |
[Flang] LoongArch64 support for BIND(C) derived types in mabi=lp64d. (#117108) This patch: - Supports both the passing and returning of BIND(C) type parameters. - Adds mabi check for LoongArch64. Currently, flang only supports mabi= option set to lp64d in LoongArch64, other ABIs will report an error and may be supported in the future. Reference ABI: https://github.com/loongson/la-abi-specs/blob/release/lapcs.adoc#subroutine-calling-sequence | 1 年前 | |
[flang][RISCV] Add target-abi ModuleFlag. (#126188) This is needed to generate proper ABI flags in the ELF header for LTO builds. If these flags aren't set correctly, we can't link with objects that were built with the correct flags. For non-LTO builds the mcpu/mattr in the TargetMachine will cause the backend to infer an ABI. For LTO builds the mcpu/mattr aren't set. I've only added lp64, lp64f, and lp64d ABIs. ilp32* requires riscv32 which is not yet supported in flang. lp64e requires a different DataLayout string and would need additional plumbing. Fixes #115679 | 1 年前 | |
[flang] Support -mabi=vec-extabi and -mabi=vec-default on AIX (#113215) This option is to enable the AIX extended and default vector ABIs. | 1 年前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][Driver] Add -masm option to flang (#81490) The motivation here was a suggestion over in Compiler Explorer. You can use -mllvm already to do this but since gfortran supports -masm, I figured I'd try to add it. This is done by flang expanding -masm into -mllvm x86-asm-syntax=, then passing that to fc1. Which then collects all the -mllvm options and forwards them on. The code to expand it comes from clang Clang::AddX86TargetArgs (there are some other places doing the same thing too). However I've removed the -inline-asm that clang adds, as fortran doesn't have inline assembly. So -masm for flang purely changes the style of assembly output. $ ./bin/flang-new /tmp/test.f90 -o - -S -target x86_64-linux-gnu <...> pushq %rbp $ ./bin/flang-new /tmp/test.f90 -o - -S -target x86_64-linux-gnu -masm=att <...> pushq %rbp $ ./bin/flang-new /tmp/test.f90 -o - -S -target x86_64-linux-gnu -masm=intel <...> push rbp The test is adapted from clang/test/Driver/masm.c by removing the clang-cl related lines and changing the 32 bit triples to 64 bit triples since flang doesn't support 32 bit targets. | 2 年前 | |
| 1 年前 | ||
[flang] Intermix messages from parser and semantic analysis (#90654) When there are one or more fatal error messages produced by the parser, semantic analysis is not performed. But when there are messages produced by the parser and none of them are fatal, those messages are emitted to the user before compilation continues with semantic analysis, and any messages produced by semantics are emitted after the messages from parsing. This can be confusing for the user, as the messages may no longer all be in source file location order. It also makes it difficult to write tests that check for both non-fatal messages from parsing as well as messages from semantics using inline CHECK: or other expected messages in test source code. This patch ensures that if semantic analysis is performed, and non-fatal messages were produced by the parser, that all the messages will be combined and emitted in source file order. | 2 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[flang][test] Remove RUN COMMANDS/EXPECTED OUTPUT/INPUT markers from test/Driver Uses of these markers are contrary to all other llvm-project subprojects and carry no information for people who know the basics of a lit test. I understand that there is an argument "this makes beginners get started quickly" but I am unsure whether this is strong enough to deviate from all other projects. https://llvm.org/docs/TestingGuide.html covers the basics. Actually, some contributors were confused by the markers. Differential Revision: https://reviews.llvm.org/D128763 | 4 年前 | |
[flang] Add -mlink-builtin-bitcode option to fc1 (#94763) This patch enables the -mlink-builtin-bitcode flag in fc1 so that bitcode libraries can be linked in. This is needed for OpenMP offloading libraries. | 2 年前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[llvm-project] Fix typo "seperate" (#95373) | 2 年前 | |
[flang][driver] apply mlir pass options immediately after lowering (#106099) The verification pass is run right after lowering with its own pass manager by flang driver, but the mlir command line options were not applied to this pass manager. This prevented options like -mmlir --mlir-pass-pipeline-crash-reproducer="crash.fir" or -mmlir --mlir-print-ir-after-failure to work when a verifier error was hit right after lowering, while these options are useful to investigate/reproduce internal errors. Note that the change in the pipeline tests is not showing a new pass being run: the pass was already run, but -mmlir --mlir-pass-statistics was not applied when the initial verification pass was run. Note that when we deal with compiler performance, we will probably want to run the verification pass only once after the initial lowering (this patch shows that it is called twice in a raw: once after the initial lowering, once at the beginning of FIR to LLVM IR lowering). | 1 年前 | |
[Flang][Driver] Add support for AsmPrinter -mmlir options This patch adds support for AsmPrinter -mmlir options to the Flang driver. Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D130598 | 4 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang] Add support for -mrecip[=<list>] (#143418) This patch adds support for the -mrecip command line option. The parsing of this options is equivalent to Clang's and it is implemented by setting the "reciprocal-estimates" function attribute. Also move the ParseMRecip(...) function to CommonArgs, so that Flang is able to make use of it as well. --------- Co-authored-by: Cameron McInally <cmcinally@nvidia.com> | 1 年前 | |
| 2 年前 | ||
[Flang] Rename libFortranRuntime.a to libflang_rt.runtime.a (#122341) Following the conclusion of the [RFC](https://discourse.llvm.org/t/rfc-names-for-flang-rt-libraries/84321), rename Flang's runtime libraries as follows: * libFortranRuntime.(a|so) to libflang_rt.runtime.(a|so) * libFortranFloat128Math.a to libflang_rt.quadmath.a * libCufRuntime_cuda_${CUDAToolkit_VERSION_MAJOR}.(a|so) to libflang_rt.cuda_${CUDAToolkit_VERSION_MAJOR}.(a|so) This follows the same naming scheme as Compiler-RT libraries ( libclang_rt.${component}.(a|so)). It provides some consistency between Flang's runtime libraries for current and potential future library components. | 1 年前 | |
| 9 个月前 | ||
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[flang] Generate main only when a Fortran program statement is present (#89938) This patch changes the behaviour for flang to only create and link to a main entry point when the Fortran code has a program statement in it. This means that flang-new can be used to link even when the program is a mixed C/Fortran code with main present in C and no entry point present in Fortran. This also removes the -fno-fortran-main flag as this no longer has any functionality. | 2 年前 | |
[Flang] Rename libFortranRuntime.a to libflang_rt.runtime.a (#122341) Following the conclusion of the [RFC](https://discourse.llvm.org/t/rfc-names-for-flang-rt-libraries/84321), rename Flang's runtime libraries as follows: * libFortranRuntime.(a|so) to libflang_rt.runtime.(a|so) * libFortranFloat128Math.a to libflang_rt.quadmath.a * libCufRuntime_cuda_${CUDAToolkit_VERSION_MAJOR}.(a|so) to libflang_rt.cuda_${CUDAToolkit_VERSION_MAJOR}.(a|so) This follows the same naming scheme as Compiler-RT libraries ( libclang_rt.${component}.(a|so)). It provides some consistency between Flang's runtime libraries for current and potential future library components. | 1 年前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[Flang][Driver] Add location and remark option printing to R_Group Diagnostics For each R_Group diagnostic produced, this patch gives more information about it by printing the absolute file path, the line and column number the pass was applied to and finally the remark option that was used. Clang does the same with the exception of printing the relative path rather than absolute path. Depends on D159260. That patch adds support for backend passes while this patch adds remark options to the backend test cases. Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D159258 | 2 年前 | |
[Flang][Driver] Add location and remark option printing to R_Group Diagnostics For each R_Group diagnostic produced, this patch gives more information about it by printing the absolute file path, the line and column number the pass was applied to and finally the remark option that was used. Clang does the same with the exception of printing the relative path rather than absolute path. Depends on D159260. That patch adds support for backend passes while this patch adds remark options to the backend test cases. Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D159258 | 2 年前 | |
Mark test in optimization-remark.f90 as UNSUPPORTED on RISC-V (#157036) Make the test more tolerant (needed for RISC-V, as this target is not expected to emit optimization remarks) | 11 个月前 | |
[Flang][LoongArch] Enable clang command-line options in flang. (#118244) Mainly including the following LoongArch specific options: -m[no-]lsx, -m[no-]lasx, -msimd=, -m[no-]frecipe, -m[no-]lam-bh, -m[no-]lamcas, -m[no-]ld-seq-sa, -m[no-]div32, -m[no-]annotate-tablejump | 1 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][test] Remove RUN COMMANDS/EXPECTED OUTPUT/INPUT markers from test/Driver Uses of these markers are contrary to all other llvm-project subprojects and carry no information for people who know the basics of a lit test. I understand that there is an argument "this makes beginners get started quickly" but I am unsure whether this is strong enough to deviate from all other projects. https://llvm.org/docs/TestingGuide.html covers the basics. Actually, some contributors were confused by the markers. Differential Revision: https://reviews.llvm.org/D128763 | 4 年前 | |
[flang][test] One more fix in flang/test/Driver/parse-error.ll The file suffix .f95 remained after 7a07d8e9df, change it to .ll. | 1 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[Flang] Add multiline error message support to pass-plugin-not-found (NFC) (#73601) The error message above has multiple lines on AIX, adding {{[[:space:]].*}} to match multiple lines Co-authored-by: Mark Danial <mark.danial@ibm.com> | 2 年前 | |
[Flang] Allow registering plugin extensions with the pass builder Pass plugins are compiled and linked dynamically by default. Setting LLVM_${NAME}_LINK_INTO_TOOLS to ON turns the project into a statically linked extension. Projects like Polly can be used this way by adding -DLLVM_POLLY_LINK_INTO_TOOLS=ON to the cmake command. The changes in this patch makes the PassBuilder in Flang aware of statically linked pass plugins, see the documentation for more details: https://github.com/llvm/llvm-project/blob/main/llvm/docs/WritingAnLLVMNewPMPass.rst#id21 Differential Revision: https://reviews.llvm.org/D137673 Change-Id: Id1aa501dcb4821d0ec779f375cc8e8d6b0b92fce | 3 年前 | |
[flang] Complete alignment of -x language modes with gfortran (#133775) | 1 年前 | |
[flang][Driver] Guard check for pic/pie settings without driver flags (#143530) The default relocation model for clang depends on the cmake flag CLANG_DEFAULT_PIE_ON_LINUX. By default it is set to ON, but when it's OFF, the default relocation model will be "static". The outcome of the test running clang without any PIC/PIE flags will depend on the cmake flag, so make sure it only runs when the flag is ON. | 1 年前 | |
[flang][driver] Add print function name Plugin example Replacing Hello World example Plugin with one that counts and prints the names of functions and subroutines. This involves changing the PluginParseTreeAction Plugin base class to inherit from PrescanAndSemaAction class to get access to the Parse Tree so that the Plugin can walk it. Additionally, there are tests of this new Plugin to check it prints the correct things in different circumstances. Depends on: D106137 Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D107089 | 4 年前 | |
[flang] Complete alignment of -x language modes with gfortran (#133775) | 1 年前 | |
[flang] Add aarch64 processor defines (#142606) This patch adds aarch64 specific processor defines when targeting aarch64, similar to the ones for ppc64 and x86_64 | 1 年前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[Flang] Add __powerpc__ macro to set c_intmax_t to c_int64_t rather than c_int128_t as PowerPC only supports up to c_int64_t. (#81222) PowerPC only supports up to c_int64_t. Add macro __powerpc__ and preprocess it for setting c_intmax_t in iso_c_binding intrinsic module. | 2 年前 | |
[flang][AIX] Predefine __64BIT__ and _AIX macros (#138591) | 1 年前 | |
[Flang] Adjust preprocessing to build modules correctly Several module files in .../llvm-project/flang/module check for the existence of the macro "__x86_64__" to conditionally compile Fortran code. Unfortunately, this macro was not being defined anywhere. This patch fixes that for compilations targeting 64 bit x86 machines. I made the following changes -- -- Removed the test for 32 bit X86 targets. The rest of the compiler and runtime do not support X86 32 bits. -- Added predefined macros to define "__x86_64__" and "__x86__64" to be 1 when the target architecture is 64 bit x86 and the "-cpp" option is on the command line. -- Changed the cmake file for creating the Fortran module files to use the "-cpp" option so that the macro "__x86_64__" will be defined when building the module files. -- Added a test. Differential Revision: https://reviews.llvm.org/D135810 | 3 年前 | |
[Driver] Move CommonArgs to a location visible by the Frontend Drivers (#142800) This patch moves the CommonArgs utilities into a location visible by the Frontend Drivers, so that the Frontend Drivers may share option parsing code with the Compiler Driver. This is useful when the Frontend Drivers would like to verify that their incoming options are well-formed and also not reinvent the option parsing wheel. We already see code in the Clang/Flang Drivers that is parsing and verifying its incoming options. E.g. OPT_ffp_contract. This option is parsed in the Compiler Driver, Clang Driver, and Flang Driver, all with slightly different parsing code. It would be nice if the Frontend Drivers were not required to duplicate this Compiler Driver code. That way there is no/low maintenance burden on keeping all these parsing functions in sync. Along those lines, the Frontend Drivers will now have a useful mechanism to verify their incoming options are well-formed. Currently, the Frontend Drivers trust that the Compiler Driver is not passing back junk in some cases. The Language Drivers may even accept junk with no error at all. E.g.: `clang -cc1 -mprefer-vector-width=junk test.c' With this patch, we'll now be able to tighten up incomming options to the Frontend drivers in a lightweight way. --------- Co-authored-by: Cameron McInally <cmcinally@nvidia.com> Co-authored-by: Shafik Yaghmour <shafik.yaghmour@intel.com> | 1 年前 | |
[flang] Ensure all warning/portability messages are guarded by Should… (#90518) …Warn() Many warning messages were being emitted unconditionally. Ensure that all warnings are conditional on a true result from a call to common::LanguageFeatureControl::ShouldWarn() so that it is easy for a driver to disable them all, or, in the future, to provide per-warning control over them. | 2 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][Driver] Add support for -mllvm -print-pipeline-passes The behavior deliberately mimics that of clang. Ideally, -print-pipeline-passes should be a first-class driver option. Notes to this effect have been added in the appropriate places in both flang and clang. --------- Co-authored-by: Tarun Prabhu <tarun.prabhu@gmail.com> | 1 年前 | |
| 2 年前 | ||
[flang][Driver] Fix incorrect condition in test The conditions in a test did not match the target that was being requested. This resulted in a test failure when building with -DTARGETS_TO_BUILD=X86. This is now fixed. | 1 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][Driver] Support -pthread in the frontend (#77360) The -pthread option seems to be extensively tested for various platforms by clang. Since flang uses those parts of the clang driver, the only test added is to ensure that the option is recognized by the frontend. | 2 年前 | |
[flang][Driver] Support -Qunused-arguments (#107462) This partially addresses: https://github.com/llvm/llvm-project/issues/89888 | 1 年前 | |
[flang][driver] Support parsing response files Add support for reading response files in the flang driver. Response files contain command line arguments and are used whenever a command becomes longer than the shell/environment limit. Response files are recognized via the special "@path/to/response/file.rsp" syntax, which distinguishes them from other file inputs. This patch hardcodes GNU tokenization, since we don't have a CL mode for the driver. In the future we might want to add a --rsp-quoting command line option, like clang has, to accommodate Windows platforms. Differential Revision: https://reviews.llvm.org/D124846 | 4 年前 | |
[Flang] Support -mrvv-vector-bits flag (#77588) This patch adds support for the -mrvv-vector-bits flag in the Flang driver, and translates them to -mvscale-min/-mvscale-max. The code was copied from the Clang toolchain (similarly to what was done for AArch64's -msve-vector-bits flag) so it also supports the same -mrvv-vector-bits=zvl mode. Note that Flang doesn't yet define the __riscv_v_fixed_vlen macro, so the help text has been updated to highlight that it's only defined for Clang. | 2 年前 | |
[Flang][Lower] Attach target_cpu and target_features attributes to MLIR functions (#78289) This patch forwards the target CPU and features information from the Flang frontend to MLIR func.func operation attributes, which are later used to populate the target_cpu and target_features llvm.func attributes. This is achieved in two stages: 1. Introduce the fir.target_cpu and fir.target_features module attributes with information from the target machine immediately after the initial creation of the MLIR module in the lowering bridge. 2. Update the target rewrite flang pass to get this information from the module and pass it along to all func.func MLIR operations, respectively as attributes named target_cpu and target_features. These attributes will be automatically picked up during Func to LLVM dialect lowering and used to initialize the corresponding llvm.func named attributes. The target rewrite and FIR to LLVM lowering passes are updated with the ability to override these module attributes, and the CodeGenSpecifics optimizer class is augmented to make this information available to target-specific MLIR transformations. This completes a full flow by which target CPU and features make it all the way from compiler options to LLVM IR function attributes. | 2 年前 | |
[flang][driver] Add pre-processing type for Fortran pre-processed files (#104664) When using --save-temps, flang-new emits (among other things) an <input>.i file. These .i files are pre-processed Fortran files containing information about the modules referenced by the input source (these files are emitted by: Parsing::EmitPreprocessedSource). This diff allows .i files emitted by flang-new to be treated as valid files in the pre-processing phase. This, in turn, allows flang-new to add pre-processing options (e.g. -I) when launching compilation jobs for these files. This solves a bug when using --save-temps with source files that include modules from non-standard directories, for example: flang-new -c --save-temps -I/tmp/module_dir -fno-integrated-as \ /tmp/ModuleUser.f90 The problem was that .i files were treated as "binary" files and therefore the return value for types::getPreprocessedType(InputType) in Flang::ConstructJob(...) was types::TY_INVALID. | 1 年前 | |
[flang][driver] Add support for -save-temps This patch adds support for -save-temps in flang-new, Flang's compiler driver. The semantics of this option are inherited from Clang. The file extension for temporary Fortran preprocessed files is set to i. This is identical to what Clang uses for C (or C++) preprocessed files. I have tried researching what other compilers do here, but I couldn't find any definitive answers. One GFortran thread [1] suggests that indeed it is not clear what the right approach should be. Normally, various phases in Clang/Flang are combined. The -save-temps option works by forcing the compiler to run every phase separately. As there is no integrated assembler driver in Flang, user will have to use -save-temps together with -fno-integrated-as. Otherwise, an invocation to the integrated assembler would be generated generated, which is going to fail (i.e. something equivalent to clang -cc1as from Clang). There are no specific plans for implementing an integrated assembler for Flang for now. One possible solution would be to share it entirely with Clang. Note that on Windows you will get the following error when using -fno-integrated-as: bash flang-new: error: there is no external assembler that can be used on this platform Unfortunately, I don't have access to a Windows machine to investigate this. Instead, I marked the tests in this patch as unsupported on Windows. [1] https://gcc.gnu.org/bugzilla//show_bug.cgi?id=81615 Differential Revision: https://reviews.llvm.org/D124669 | 4 年前 | |
[flang][driver] Remove %flang-new from the LIT configuration %flang-new was introduced in the early days of the new driver to make a clear distinction between the tests for the current and the new driver. We have since introduced %flang (compiler driver) and %flang_fc1 (frontend driver) as the long term solution. This has allowed us to share tests between flang-new and f18. This patch replaces all uses of %flang-new with %flang and %flang_fc1. Some tests are reformatted so that all tests look uniform and are easier to follow. Where possible, ! REQUIRES: new-flang-driver is deleted so that more tests can be shared with f18. To facilitate this, f{no-}implicit-none are introduced in f18 with semantics identical to flang-new. Two tests are deleted rather than updated: * flang/test/Frontend/print-preprocess-C-file.f90 * flang/test/Frontend/print-preprocessed-file.f90 Instead, there is plenty of preprocessor tests in flang/test/Preprocessing/. Differential Revision: https://reviews.llvm.org/D100174 | 5 年前 | |
[flang] Fix slp-vectorize.f90 test (#133128) The test was missing "-o /dev/null" and inadvertently generating a .ll file in the test directory. Signed-off-by: Kajetan Puchalski <kajetan.puchalski@arm.com> | 1 年前 | |
[flang][Driver] Support -gsplit-dwarf. (#160540) This flags enables the compiler to generate most of the debug information in a separate file which can be useful for executable size and link times. Clang already supports this flag. I have tried to follow the logic of the clang implementation where possible. Some functions were moved where they could be used by both clang and flang. The addOtherOptions was renamed to addDebugOptions to better reflect its purpose. Clang also set the splitDebugFilename field of the DICompileUnit in the IR when this option is present. That part is currently missing from this patch and will come in a follow-up PR. | 10 个月前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[Clang][Flang][AMDGPU] Add support for AMDGPU to Flang driver Scope of changes: 1) Extract common code between Clang and Flang for parsing AMDGPU features 2) Add function which adds implicit target features for AMDGPU as Clang does 3) Add AMDGPU target as one of valid targets for Flang Differential Revision: https://reviews.llvm.org/D145579 Reviewed By: yaxunl, awarzynski | 3 年前 | |
[RISCV] Make "target-feature +i" explicit (#157835) Add "target-feature +i" for RV32I/RV64I. Current behavior: RV32E/RV64E: "target-feature +e" "target-feature -i" RV32I/RV64I: "target-feature -e" Adding "target-feature +i" explicitly makes the behavior consistent. | 11 个月前 | |
[Flang-new][OpenMP] Add bitcode files for AMD GPU OpenMP (#96742) Flang-new needs to add mlink-builtin-bitcode objects to properly support offload code generation for AMD GPUs (for example, math functions). Both Flang-new and Clang rely on mlink-builtin-bitcode flags. These flags are added by the AMDGPUOpenMPToolchain::addClangTargetOptions function. Now, both compilers reuse the same function. Flang-new tests for AMDGPU were updated by adding the -nogpulib flag. This flag allows running AMDGPU tests on machines without the ROCm stack. | 2 年前 | |
[Flang] Exit gracefully with a useful message when we fail to lookup a target Without this patch we were asserting with a generic message Failed to create Target, but we already have a detailed error message stored in the variable error after calling lookupTarget() but this error was not getting used/printed. With this patch we will emit a message with more details instead of a stack dump with a generic message. Differential Revision: https://reviews.llvm.org/D146333 Change-Id: I7ddee917cf921a2133ca3e6b35791b2142f770a2 | 3 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][tco] Engineering option for running only CodeGen passes. This option allows running only CodeGen passes and then translating FIR to LLVM IR. I am using it to fetch optimized FIR after bbc, hand-modify it and then produce LLVM IR that can be fed to clang. | 3 年前 | |
[flang][NFC] Characterize allocation based on MemAlloc effect instead of pattern matching (#166806) Flang alias analysis used to find allocation site by pattern matching allocation ops in mainly FIR dialect. This MR extends the characterization to instead characterize based on whether the result of an op has MemAlloc effect. | 9 个月前 | |
| 11 个月前 | ||
[flang][Driver] Preliminary support for -ftime-report (#122894) The behavior is not entirely consistent with that of clang for the moment since detailed timing information on the LLVM IR optimization and code generation passes is not provided. The -ftime-report= option is also not enabled since that is only relevant for information about the LLVM IR passes. However, some code to handle that option has been included, to make it easier to support the option when the issues blocking it are resolved. A FortranSupport library has been created that is intended to mirror the LLVM and MLIR support libraries. Based on @tarunprabhu's PR https://github.com/llvm/llvm-project/pull/107270 with minor changes addressing latest review feedback. He's busy and we'd like to get this support in ASAP. Co-authored-by: Tarun Prabhu <tarun.prabhu@gmail.com> | 1 年前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
[flang] Fix Funderscoring TC failure on AIX [NFC] (#73543) Change fundersoring test with a more accurate regex to ensure the lack of a trailing underscore, current TC is failing on AIX Co-authored-by: Mark Danial <mark.danial@ibm.com> | 2 年前 | |
[flang] Main program symbol no longer conflicts with the other symbols (#149169) The following code is now accepted: module m end program m use m end The PROGRAM name doesn't really have an effect on the compilation result, so it shouldn't result in symbol name conflicts. This change makes the main program symbol name all uppercase in the cooked character stream. This makes it distinct from all other symbol names that are all lowercase in cooked character stream. Modified the tests that were checking for lower case main program name. | 1 年前 | |
[flang] Main program symbol no longer conflicts with the other symbols (#149169) The following code is now accepted: module m end program m use m end The PROGRAM name doesn't really have an effect on the compilation result, so it shouldn't result in symbol name conflicts. This change makes the main program symbol name all uppercase in the cooked character stream. This makes it distinct from all other symbol names that are all lowercase in cooked character stream. Modified the tests that were checking for lower case main program name. | 1 年前 | |
[flang][driver] Limit the usage of -mvscale-max and -mvscale-min (#77905) Make sure that -mvscale-max and -mvscale-min are only available for targets that are known to support vscale and scalable vectors. Also fix capitalization of function variables. | 2 年前 | |
[flang][driver] rename flang-new to flang (#110023) This does a global rename from flang-new to flang. I also removed/changed any TODOs that I found related to making this change. --------- Co-authored-by: H. Vetinari <h.vetinari@gmx.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com> | 1 年前 | |
[flang] Improve module file error message wording (#122787) Instead of "Cannot read ...", distinguish true errors in finding and parsing module files from problems with unexpected hash codes by using "Cannot parse" or "Cannot use" wording as appropriate. | 1 年前 | |
[flang] Add support for -f[no-]verbose-asm (#130788) This flag provides extra commentary in the assembly output. | 1 年前 | |
[flang][NFC] Strip trailing whitespace from tests (1 of N) Only the fortran source files in flang/test have been modified. The other files in the directory will be cleaned up in subsequent commits | 9 个月前 | |
Fix more diagnostic wording for style; NFC (#93190) This tries to fix all of the places where a diagnostic message starts with a capital letter (other than acroynyms or proper nouns) or ends with punctuation (other than a question mark). This is in support of a planned change to tablegen to start diagnosing incorrect diagnostic message styles. | 2 年前 | |
[flang][Driver] Support --no-warnings option (#107455) Because of the way visibility is implemented in Options.td, options that are aliases do not inherit the visibility of the option being aliased. Therefore, explicitly set the visibility of the alias to be the same as the aliased option. This partially addresses https://github.com/llvm/llvm-project/issues/89888 | 1 年前 | |
[flang] Avoid linking step for failing LIT tests added in D143301. | 3 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver Follow-up to D128763. | 4 年前 | |
[flang][cli] Add diagnostic flags to the CLI (#142022) This change allows the flang CLI to accept -W[no-]<feature> flags matching the clang syntax and enable and disable usage and language feature warnings. | 1 年前 | |
[flang][cli] Add diagnostic flags to the CLI (#142022) This change allows the flang CLI to accept -W[no-]<feature> flags matching the clang syntax and enable and disable usage and language feature warnings. | 1 年前 | |
[Flang] Testcase changes to switch directories before rm (NFC) (#73602) In AIX, the following testcase fails in attempt to delete the current directory, exiting current directory before removing --------- Co-authored-by: Mark Danial <mmark.danial@ibm.com> | 2 年前 | |
[flang][Driver] Support -Xlinker in flang (#107472) Partially addresses: https://github.com/llvm/llvm-project/issues/89888 | 1 年前 | |
[Flang][Driver][Offload] Support -Xoffload-linker argument in Flang (#109907) The -Xoffload-linker command allows forwarding of linker commands to the clang-linker-wrapper used for linking offload libraries into the resulting offload binaries amongst other tasks. This is a rather useful command to have to support the offloading programming models flang-new currently aims to support (OpenMP/OpenACC). Currently this flag is utilised in the check-offload tests after a recent addition and is used in conjunction with the Fortran OpenMP test suite there, which fails at the moment due to flang-new not recognizing the command, this fixes the issue. The alternative to this would of course be to setup the test config to avoid using this flag with Fortran, but I believe adding support of the flag to flang-new has more merit as having the same compatability/communication capabilities as Clang to the clang-linker-wrapper is important as it's a critical component of the offload pipeline, and the command will likely see more use in the near future. | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 11 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 10 个月前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 11 个月前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 9 个月前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 |