Go to file
Bjorn Pettersson 951a980dc7 [Analysis] Make order of analysis executions more stable
When debugging and using debug-pass-manager (e.g. in regression tests)
we prefer a consistent order in which analysis passes are executed.
But when for example doing

  return MyClass(AM.getResult<LoopAnalysis>(F),
                 AM.getResult<DominatorTreeAnalysis>(F));

then the order in which LoopAnalysis and DominatorTreeAnalysis isn't
guaranteed, and might for example depend on which compiler that is
used when building LLVM.

I've not scanned the full source tree, but this fixes some occurances
of the above pattern found in lib/Analysis.

This problem was discussed briefly in review for D146206.
2023-03-17 09:33:16 +01:00
.github workflows: Don't try and run llvm-bugs in forks 2023-03-16 16:47:07 +00:00
bolt Use *{Map,Set}::contains (NFC) 2023-03-15 22:55:35 -07:00
clang Make globals used for array initialization codegen constant 2023-03-17 09:23:34 +01:00
clang-tools-extra [clang] Fix a UsingTemplate regression after 3e78fa8602 2023-03-16 12:59:26 +01:00
cmake Revert "[CMake] Unify llvm_check_linker_flag and llvm_check_compiler_linker_flag" 2023-03-12 13:27:23 +07:00
compiler-rt [compiler-rt] Avoid signed overflow in floatdidf.c and floatdisf.c 2023-03-17 08:14:57 +01:00
cross-project-tests [Dexter] Add a simple logging class to Dexter 2023-03-15 19:25:37 +00:00
flang [flang] Feature list plugin 2023-03-17 02:28:59 -05:00
libc [libc][Obvious] Reduce the size of the tests for hypot(f). 2023-03-16 21:17:20 -04:00
libclc Revert "[CMake] Bumps minimum version to 3.20.0." 2023-03-04 18:28:13 +01:00
libcxx [libcxx] Add status paper for Parallelism-TS 2023-03-17 12:31:32 +08:00
libcxxabi [runtimes] Synchronize warnings flags between libc++/libc++abi/libunwind 2023-03-17 00:40:59 +01:00
libunwind [libunwind][AArch64] Unbreak building with GNU assembler 2023-03-17 09:28:20 +01:00
lld [wasm] Silence 'not all control paths return a value' warning when 2023-03-15 14:20:18 -04:00
lldb Remove #if guards from AppendBounds to fix compile on old POSIX. 2023-03-16 16:16:21 -07:00
llvm [Analysis] Make order of analysis executions more stable 2023-03-17 09:33:16 +01:00
llvm-libgcc Revert "[CMake] Bumps minimum version to 3.20.0." 2023-03-04 18:28:13 +01:00
mlir [mlir][transform] change RaggedArray internals 2023-03-16 23:13:53 +00:00
openmp [OpenMP][libomptarget][AMDGPU] Update print launch info 2023-03-15 06:11:01 -04:00
polly Use *{Map,Set}::contains (NFC) 2023-03-15 22:55:35 -07:00
pstl Revert "[CMake] Bumps minimum version to 3.20.0." 2023-03-04 18:28:13 +01:00
runtimes [runtimes] Synchronize warnings flags between libc++/libc++abi/libunwind 2023-03-17 00:40:59 +01:00
third-party Remove an extra // in the IWYU pragma for gtest-matchers.h 2023-03-14 13:11:53 +01:00
utils [llvm][Bazel] Include .inc files in tblgen target. 2023-03-16 13:32:37 +01:00
.arcconfig
.arclint
.clang-format
.clang-tidy Add -misc-const-correctness to .clang-tidy 2022-08-08 13:00:52 -07:00
.git-blame-ignore-revs
.gitignore
.mailmap [mailmap] Add my entry 2022-12-16 05:30:29 +08:00
CONTRIBUTING.md
LICENSE.TXT [docs] Add LICENSE.txt to the root of the mono-repo 2022-08-24 09:35:00 +02:00
README.md [docs] Update README and GettingStarted 2023-03-08 12:55:59 -08:00
SECURITY.md

The LLVM Compiler Infrastructure

Welcome to the LLVM project!

This repository contains the source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and run-time environments.

The LLVM project has multiple components. The core of the project is itself called "LLVM". This contains all of the tools, libraries, and header files needed to process intermediate representations and convert them into object files. Tools include an assembler, disassembler, bitcode analyzer, and bitcode optimizer.

C-like languages use the Clang frontend. This component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode -- and from there into object files, using LLVM.

Other components include: the libc++ C++ standard library, the LLD linker, and more.

Getting the Source Code and Building LLVM

Consult the Getting Started with LLVM page for information on building and running LLVM.

For information on how to contribute to the LLVM project, please take a look at the Contributing to LLVM guide.

Getting in touch

Join the LLVM Discourse forums, Discord chat, or #llvm IRC channel on OFTC.

The LLVM project has adopted a code of conduct for participants to all modes of communication within the project.