mirror-llvm-project/flang
Susan Tan (ス-ザン タン) bf3b704c60
[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.
2025-11-10 17:33:43 -05:00
..
cmake Reapply "[Flang] Remove FLANG_INCLUDE_RUNTIME (#124126)" 2025-04-30 12:32:49 +02:00
docs Reland "[clang] Refactor option-related code from clangDriver into new clangOptions library" (#167374) 2025-11-10 21:24:39 +01:00
examples [flang] Adding NOTIFY specifier in image selector and add notify type checks (#148810) 2025-11-05 16:35:25 +01:00
include [flang][NFC] Characterize allocation based on MemAlloc effect instead of pattern matching (#166806) 2025-11-10 17:33:43 -05:00
lib [flang][NFC] Characterize allocation based on MemAlloc effect instead of pattern matching (#166806) 2025-11-10 17:33:43 -05:00
module [flang][cuda] Add interface and lowering for atomicadd_r4x2 and atomicadd_r4x4 (#166308) 2025-11-04 09:33:09 -08:00
test [flang][NFC] Characterize allocation based on MemAlloc effect instead of pattern matching (#166806) 2025-11-10 17:33:43 -05:00
tools Reland "[clang] Refactor option-related code from clangDriver into new clangOptions library" (#167374) 2025-11-10 21:24:39 +01:00
unittests [flang][cmake] Set the usual linker flags for non-gtest unit tests (#165256) 2025-10-29 12:27:11 +01:00
.clang-format
.clang-tidy
.drone.star
.gitignore
CMakeLists.txt [flang/flang-rt] Add -isysroot flag only to tests really requiring (#152914) 2025-08-13 21:43:53 +00:00
LICENSE.TXT
Maintainers.md [flang] Add David Truby as maintainer for Flang on Windows (#142619) 2025-06-11 14:50:39 +01:00
README.md

Flang

Flang is a ground-up implementation of a Fortran front end written in modern C++. It started off as the f18 project (https://github.com/flang-compiler/f18) with an aim to replace the previous flang project (https://github.com/flang-compiler/flang) and address its various deficiencies. F18 was subsequently accepted into the LLVM project and rechristened as Flang.

Please note that flang is not ready yet for production usage.

Getting Started

Read more about flang in the docs directory. Start with the compiler overview.

To better understand Fortran as a language and the specific grammar accepted by flang, read Fortran For C Programmers and flang's specifications of the Fortran grammar and the OpenMP grammar.

Treatment of language extensions is covered in this document.

To understand the compilers handling of intrinsics, see the discussion of intrinsics.

To understand how a flang program communicates with libraries at runtime, see the discussion of runtime descriptors.

If you're interested in contributing to the compiler, read the style guide and also review how flang uses modern C++ features.

If you are interested in writing new documentation, follow LLVM's Markdown style guide.

Consult the Getting Started with Flang for information on building and running flang.