Go to file
Jakub Kuderski bea19a9493 [Dominators] Add DomTreeUpdater constructor from DT* and PDT*
Summary:
Previously, if a function accepts an optional DT pointer,
```
void Foo (.., DominatorTree * DT = nullptr) {
  ...
  if(DT)
    DomTreeUpdater(*DT, ...).insertEdge(A, B);
  if(DT){
    DomTreeUpdater DTU(*DT, ...);
    ... // Construct the update vector and applyUpdates
  }
  ...
  if(DT){
    DomTreeUpdater DTU(*DT, ...);
    ... // Construct the update vector and applyUpdates
  }
}
```
After this patch, it can be simplified as
```
void Foo (.., DominatorTree * DT = nullptr) {
  DomTreeUpdater DTU(DT, ...);
  ...
  DTU.insertEdge(A, B);
  if(DT){
    ... // Construct the update vector and applyUpdates
  }
  ...
  if(DT){
    ... // Construct the update vector and applyUpdates
  }
}
```
Patch by Chijun Sima <simachijun@gmail.com>.

Reviewers: kuhar, brzycki, dmgreen

Reviewed By: kuhar

Author: NutshellySima

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D48923

llvm-svn: 336294
2018-07-04 18:37:15 +00:00
clang [analyzer][ctu] fix unsortable diagnostics 2018-07-04 14:12:58 +00:00
clang-tools-extra [clang-tidy] Fix http://llvm.org/PR38055 2018-07-04 15:19:49 +00:00
compiler-rt [libFuzzer] [NFC] Inline static variable to avoid the linker warning. 2018-07-04 00:37:45 +00:00
debuginfo-tests [debuginfo-tests] Always use the system python to invoke llgdb.py. 2018-06-10 19:38:26 +00:00
libclc atom: Use volatile pointers for cl_khr_{global,local}_int32_{base,extended}_atomics 2018-06-21 19:27:39 +00:00
libcxx [libc++] Install the missing header __errc 2018-07-03 04:01:44 +00:00
libcxxabi Revert r336159, r336157. Some bots failed on qualified std::max_align_t, and other on unqualified max_align_t. 2018-07-03 01:30:53 +00:00
libunwind Introduce a separate preprocessor macro, _LIBUNWIND_USE_DLADDR, for directly controlling a dependency on dladdr(). This will allow us to use libunwind without adding a libdl dependency. 2018-06-29 20:41:50 +00:00
lld [ELF] - Simplify. NFC. 2018-07-04 15:05:21 +00:00
lldb [lit] Don't require semicolon separator 2018-07-04 17:14:52 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [Dominators] Add DomTreeUpdater constructor from DT* and PDT* 2018-07-04 18:37:15 +00:00
openmp [OMPT] Use alloca() to force availability of frame pointer 2018-07-02 09:13:38 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [PPCGCodeGen] Change printf to outs() to prevent garbled output. [NFC] 2018-07-04 16:51:27 +00:00
README.md

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.