LLVM/project b238140 — clang/lib/StaticAnalyzer/Checkers/WebKit NoDeleteChecker.cpp PtrTypesSemantics.cpp, clang/test/Analysis/Checkers/WebKit nodelete-annotation.cpp

[alpha.webkit.NoDeleteChecker] Don't check base class fields in constructors (#242238)

The checker reported a constructor annotated with webkit.nodelete when
any field of its class, or of any of its base classes, has a default
constructor that is not known to be trivial. Neither base class fields
nor fields of a delegating constructor are constructed by the
constructor being checked:

  struct Observer {
      [[clang::annotate("webkit.nodelete")]] explicit Observer(int*);
      WeakPtr<Context> m_context;
  };

  struct ActiveObject : Observer {
[[clang::annotate("webkit.nodelete")]] explicit ActiveObject(int* p)
          : ActiveObject(p, Checked) { }
      ...
[[clang::annotate("webkit.nodelete")]] ActiveObject(int* p, CheckedType)
          : Observer(p) { }

    [19 lines not shown]
DeltaFile
+69-0clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
+7-4clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
+4-1clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
+80-53 files

LLVM/project 411c919 — lldb/source/Plugins/Process/mach-core RegisterContextUnifiedCore.cpp, lldb/test/API/macosx/lc-note/additional-registers TestMetadataRegisters.py

[lldb] Bound register writes from Mach-O process metadata (#239787)

RegisterContextUnifiedCore sized its register buffer by summing the
metadata register sizes into a uint32_t, then wrote the register values
without a bounds check. Sizes whose sum wraps around leave the buffer
smaller than the values written into it.

Grow the buffer as each value is written instead. Also reject register
entries that aren't dictionaries.

rdar://187065217
Assisted-by: Claude
DeltaFile
+11-22lldb/source/Plugins/Process/mach-core/RegisterContextUnifiedCore.cpp
+33-0lldb/test/API/macosx/lc-note/additional-registers/TestMetadataRegisters.py
+44-222 files

LLVM/project c13ebd7 — clang-tools-extra/clangd Hover.cpp, clang-tools-extra/clangd/unittests HoverTests.cpp

[clangd] Omit C++ access specifiers from C hovers (#239877)

This PR addresses the access-specifier portion of clangd/clangd#2700.
Hovering over a C struct member currently shows C++ syntax such as
`public: int location`.

Only populate `HoverInfo::AccessSpecifier` in C++ mode so C hovers
show `int location` while preserving C++ access labels.

The issue discusses `::` in the `// In ...` scope annotation,
but the discussion leaves open whether that notation should change.
This PR addresses only the access-specifier behavior and
leaves scope formatting unchanged.

Validation:
- Added regression coverage for ordinary C structs, anonymous nested
  C structs, and a C++ control case.
- All 37 `Hover.*` tests passed after rebasing and rebuilding.


    [2 lines not shown]
DeltaFile
+66-0clang-tools-extra/clangd/unittests/HoverTests.cpp
+2-1clang-tools-extra/clangd/Hover.cpp
+68-12 files

LLVM/project 3e9817b — libc/src/__support/OSUtil/linux/syscall_wrappers getrandom.h

[libc] Simplify getrandom syscall error handling
DeltaFile
+2-5libc/src/__support/OSUtil/linux/syscall_wrappers/getrandom.h
+2-51 files

LLVM/project e259fca — libc/src/__support/OSUtil/linux/syscall_wrappers execve.h

[libc] Simplify execve syscall error handling
DeltaFile
+3-6libc/src/__support/OSUtil/linux/syscall_wrappers/execve.h
+3-61 files

LLVM/project 11a7e80 — clang/lib/AST/ByteCode Compiler.cpp, clang/test/AST/ByteCode typeid.cpp

[clang][bytecode] Reject CXXTypeIdExprs with errors (#242231)
DeltaFile
+10-0clang/test/AST/ByteCode/typeid.cpp
+3-0clang/lib/AST/ByteCode/Compiler.cpp
+13-02 files

LLVM/project 87b25c9 — llvm/docs LangRef.md, llvm/lib/IR Verifier.cpp

[Verifier] Verify attributes for oracle-function in visitFunctionAttrs (#242063)

The behavior before this patch seems to be a historical artifact.
Function attributes/signature are a property of the function and should
be validated there rather than during their use inside of
llvm.speculative.load.

Assisted-By: LLM
DeltaFile
+25-30llvm/lib/IR/Verifier.cpp
+18-13llvm/test/Verifier/speculative-load.ll
+3-2llvm/docs/LangRef.md
+46-453 files

LLVM/project 12226ef — libcxx/test/std/language.support/support.limits/support.limits.general utility.version.compile.pass.cpp exception.version.compile.pass.cpp, libcxx/utils generate_feature_test_macro_components.py

Reapply "[libc++][FTM] Added FTMs from Sofia Meeting 202506 (#239614)" (#242088) (#242210)

This reverts commit 034b938cbbaa78957e1a94b8ef56bfeb6c3a2021.

Removed the offending `<meta>` bits for now to resolve the reported
issue:
https://github.com/llvm/llvm-project/pull/239614#issuecomment-6837663036

---------

Co-authored-by: Hristo Hristov <zingam at outlook.com>
DeltaFile
+284-8libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+138-0libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
+71-10libcxx/utils/generate_feature_test_macro_components.py
+46-0libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
+46-0libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
+46-0libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
+631-183 files not shown
+674-329 files

LLVM/project 6eda397 — llvm/lib/Target/Sparc SparcInstrInfo.cpp SparcFrameLowering.cpp, llvm/test/CodeGen/SPARC postra-sched.ll

[SPARC] Keep the %o7 restore in the delay slot of leaf tail calls (#242281)

The return address is restored in the delay slot of a tail call in a
leaf function. With the post-RA scheduler enabled another instruction
might be moved into that slot, and the restore could happen before the
call which causes %o7 to get overwritten. To prevent that, mark it as
FrameDestroy, and check for it in isSchedulingBoundary().

Assisted-by: Claude
DeltaFile
+30-0llvm/test/CodeGen/SPARC/postra-sched.ll
+6-3llvm/lib/Target/Sparc/SparcFrameLowering.cpp
+2-0llvm/lib/Target/Sparc/SparcInstrInfo.cpp
+38-33 files

LLVM/project 0a12975 — libc/include stdlib.yaml CMakeLists.txt, utils/bazel/llvm-project-overlay/libc BUILD.bazel

[libc] Make alloca visible from stdlib.h (#241695)

Let `<stdlib.h>` also declare `alloca`. Some code assumes that it'll
be exposed through `<stdlib.h>` header, plus `<alloca.h>` is not
a standard header anyway and is missing on some platforms (e.g.
on BSD systems). Use YAML fragments, similar to what we do
for non-standard `<malloc.h>` header on GNU systems.

AI disclosure: this patch was written with Claude Code. I reviewed the
change and built it in a full build, and the include and header tests
pass

Assisted-by: Claude
DeltaFile
+2-5libc/include/alloca.yaml
+7-0libc/include/stdlib-alloca.yaml
+4-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+1-0libc/include/stdlib.yaml
+1-0libc/include/CMakeLists.txt
+15-65 files

LLVM/project 12ec702 — clang/test/Analysis redecl.c

[Clang][analyzer][NFC] Re-enable const variable redeclaration test (#241705)

`Analysis/redecl.c` already produces the expected `TRUE` result, but its
`-verify` run fails on an unannotated `'extern' variable has an
initializer` warning. Add the missing `expected-warning` and remove
`XFAIL: *`, retaining the original input and the existing `TRUE` check.

The test was added by 850361f6c1db6bd8a85b65a8c56e0e097eaa0635 (D46421,
April 23, 2019), which also changed the constant-variable lookup in
`RegionStoreManager::getBindingForVar` from `getInit()` to
`getAnyInitializer()`. Native X86 Release builds with assertions enabled
confirm the behavior change at that commit: its parent
330bc8af131c5b42efe120dbf70f47881d02d3a3 reports both `FALSE` and
`TRUE`, while the commit reports only `TRUE`. Both still emit the
extern-initializer warning, so the original test remains XFAIL even
after the analysis result is corrected.
This change annotates the warning and removes the XFAIL marker, allowing
the test to run normally again.

Prepared with assistance from Codex.
DeltaFile
+1-2clang/test/Analysis/redecl.c
+1-21 files

LLVM/project 841358c — libc/include CMakeLists.txt, libc/include/sys time.yaml select.yaml

[libc] Have sys/time.h import certain symbols from sys/select.h (#241696)

Per https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_time.h.html,
`sys/time.h` should provide certain macro, types, and functions
that are also declared in `sys/select.h`. Use existing YAML fragment
machinery to support this.

Some programs like procps relies on it.

AI disclosure: this patch was written with Claude Code. I reviewed the
change and built it in a full build, and the include and header tests
pass

Assisted-by: Claude
DeltaFile
+28-0libc/include/sys/select-time.yaml
+2-15libc/include/sys/select.yaml
+8-2utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+4-1libc/include/sys/time.yaml
+4-0libc/include/CMakeLists.txt
+46-185 files

LLVM/project 3e981cb — clang/include/clang/Options Options.td, clang/lib/Driver/ToolChains/Arch Sparc.cpp

[SPARC][Driver] Add -m(no-)app-regs flags (#242193)

Add GCC's -mapp-regs and -mno-app-regs. -mno-app-regs reserves the
application registers G2, G3 and G4, the same as passing -ffixed-g2
-ffixed-g3 -ffixed-g4. -mapp-regs is the default.
 
Fixes #18525

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+29-0llvm/test/CodeGen/SPARC/reserved-app-regs.ll
+16-0clang/test/Driver/sparc-fixed-register.c
+6-0clang/lib/Driver/ToolChains/Arch/Sparc.cpp
+4-0clang/include/clang/Options/Options.td
+55-04 files

LLVM/project ac25a0b — libc/include netdb.yaml

[libc] Have netdb.h carry netinet/in.h (#241697)

See https://pubs.opengroup.org/onlinepubs/9799919799/ - which
states that `Inclusion of the <netdb.h> header may also make
visible all symbols from <netinet/in.h>`.

AI disclosure: this patch was written with Claude Code. I reviewed the
change and built it in a full build, and the include and header tests
pass

Assisted-by: Claude
DeltaFile
+3-0libc/include/netdb.yaml
+3-01 files

LLVM/project 793f8e5 — llvm/lib/IR Instruction.cpp

IR: Answer mayHaveSideEffects with one switch

Previously this emitted 3 calls, each switching over the opcodes. Fold
to one which only needs to query attributes for calls.

CTMark instructions:u: O3 -0.13%, ThinLTO -0.17%.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+26-1llvm/lib/IR/Instruction.cpp
+26-11 files

LLVM/project dc7b9e7 — llvm/lib/Transforms/Utils SimplifyLibCalls.cpp, llvm/test/Transforms/InstCombine log-pow.ll

[InstCombine] Simplify log(exp10(y)) to y * log(10) (#239581)

Updated `LibCallSimplifier::optimizeLog` to recognize the `llvm.exp10`
intrinsic while folding:
```
log(exp10(y)) -> y * log(10)
```

Changes:
- Updated the if statement to check the arguments for the intrinsic and
removed the "TODO" comment at the top of the statement
- Added two tests in `llvm/test/Transforms/InstCombine/log-pow.ll`:
  * log_exp10_intrinsic
* log_exp10_intrinsic_not_fast (a negative test to ensure the transform
works only if the exp10 intrinsic has the fast flag)

Closes #226865
DeltaFile
+21-0llvm/test/Transforms/InstCombine/log-pow.ll
+2-2llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+23-22 files

LLVM/project 0762d0c — llvm/tools/llvm-strings CMakeLists.txt

[llvm-strings] Call xcrun instead of relying on preset variables (#242580)

Suggested by llvm-beanz as some CMake setups will not pre-set those
variables.
DeltaFile
+8-5llvm/tools/llvm-strings/CMakeLists.txt
+8-51 files

LLVM/project ce00ceb — clang/test/CIR/CodeGen call-conv-lowering-amdgpu-cxx-records.cpp call-conv-lowering-amdgpu-return-types.c, clang/test/CIR/CodeGenHIP call-conv-lowering-amdgpu-kernel-args.hip

add working test cases after rebase
DeltaFile
+340-10clang/test/CIR/CodeGen/call-conv-lowering-amdgpu-arg-types.c
+132-11clang/test/CIR/CodeGen/call-conv-lowering-amdgpu-return-types.c
+86-11clang/test/CIR/CodeGen/call-conv-lowering-amdgpu-cxx-records.cpp
+39-3clang/test/CIR/CodeGenHIP/call-conv-lowering-amdgpu-kernel-args.hip
+597-354 files

LLVM/project 6df1b61 — llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/AMDGPU fcopysign.f64.ll fcopysign.f32.ll

DAG: Look through fp_extend/fp_round when folding bitcast of fcopysign

visitFCOPYSIGN strips these from the sign operand, but the bitcast may be
visited first, leaving the conversion live in the integer form. Strip it
in the fold too, so the result does not depend on visitation order.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+19-223llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
+14-131llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
+35-31llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+7-14llvm/test/CodeGen/AMDGPU/fcopysign.f32.ll
+7-12llvm/test/CodeGen/AMDGPU/fcopysign.f64.ll
+82-4115 files

LLVM/project fba411d — llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/AMDGPU fcopysign.f64.ll

DAG: Use shl of any_extend to place the sign bit when folding bitcast of fcopysign

When the sign operand is narrower than the result, only its sign bit is
used. Move it into place with a shift of an any_extend instead of a
sign_extend.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+7-14llvm/test/CodeGen/AMDGPU/fcopysign.f64.ll
+6-2llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+13-162 files

LLVM/project 7d9bb8c — mlir/lib/Dialect/Arith/IR ValueBoundsOpInterfaceImpl.cpp, mlir/test/Dialect/Arith value-bounds-op-interface-impl.mlir

fix: arith.maxui had incorrect bounds if one operand is negative (#238048)

Value bounds for `arith.maxui(-1, 2)` said it's `>= 2` which is wrong,
because it's actually `-1`.
DeltaFile
+30-10mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
+12-9mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
+42-192 files

LLVM/project dc567b6 — llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/AMDGPU fcopysign.f64.ll

DAG: Use shl of any_extend to place the sign bit when folding bitcast of fcopysign

When the sign operand is narrower than the result, only its sign bit is
used. Move it into place with a shift of an any_extend instead of a
sign_extend.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+7-14llvm/test/CodeGen/AMDGPU/fcopysign.f64.ll
+7-2llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+14-162 files

LLVM/project 8cf1824 — clang/docs ControlFlowIntegrity.md, llvm/docs XRay.md

[docs] Add Hexagon to CFI-ICall, and XRay arch lists (#240418)

Hexagon now supports the CFI indirect-call sanitizer, and XRay.
DeltaFile
+1-1llvm/docs/XRay.md
+1-1clang/docs/ControlFlowIntegrity.md
+2-22 files

LLVM/project 69245e3 — clang/docs ReleaseNotes.md, clang/include/clang/AST ASTTypeTraits.h

[clang][AST] Don't give `ObjCProtocolLoc` pointer identity in `DynTypedNode` (#237451)

`DynTypedNode` has stored `ObjCProtocolLoc` by value since the node was
added in 805f7a4fa4ce, but `NKI_ObjCProtocolLoc` was placed after
`NKI_LastKindWithoutPointerIdentity`, so `hasPointerIdentity()` returned
true for it. `getMemoizationData()` then returned (by chance?) the
stored `ObjCProtocolDecl` pointer. As a result, two references to the
same protocol at different locations compared equal through
`DynTypedNode`. This caused `ASTContext::getParents()` to behave
incorrectly.

This commit changes `ObjCProtocolLoc` to be considered as not having
pointer identity. Subsequently, we handle `ObjCProtocolLoc` in
`DynTypedNode::operator<`, `operator==` and `getHashValue`, using both
the protocol pointer and the source location.

To catch this class of mismatch at compile time, this commit also
introduces a `static_assert` to check that how it stores the node
matches `hasPointerIdentity()` for the node kind.
DeltaFile
+46-6clang/unittests/AST/ASTTypeTraitsTest.cpp
+39-4clang/include/clang/AST/ASTTypeTraits.h
+14-0clang/unittests/AST/ASTContextParentMapTest.cpp
+4-0clang/docs/ReleaseNotes.md
+1-1clang/lib/AST/ASTTypeTraits.cpp
+104-115 files

LLVM/project 7e87ece — clang/lib/CodeGen CGDebugInfo.h

[clang] Remove unused declarations in CGDebugInfo (NFC) (#239487)

SaveAndRestoreLocation: The class was removed on January 14, 2015 in
commit 66e4197f07f6a3fe178f2b220fce62a1889b5fe6, leaving its friend
declaration in CGDebugInfo dangling.

CGDebugInfo::OCLNDRangeDITy: The last use was removed on February 16,
2017 in commit 58984e7087bc530ac2fae06b3ef15a4f1bc118f9.

CGDebugInfo::Int8_4PackedTy and CGDebugInfo::UInt8_4PackedTy: These
fields were added via HLSLPackedTypes.def on September 30, 2026 in
commit 9488c46651de0fbec038e6b8578c1e651d89e576 without any uses.

Note that CGDebugInfo becomes fully defined in CGDebugInfo.cpp once we
remove the friend declaration for SaveAndRestoreLocation.  That in turn
causes -Wunused-private-field to diagnose the unused private fields
removed here.

Assisted-by: Antigravity
DeltaFile
+0-5clang/lib/CodeGen/CGDebugInfo.h
+0-51 files

LLVM/project 35cf117 — clang/test/Headers __clang_hip_math.hip, llvm/test/CodeGen/AMDGPU combine-carry-into-uadde-usube.ll

Merge branch 'main' into users/mrsidims/aarch64-narrow-two-source-shuffle-tests
DeltaFile
+1,280-19,139utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+5,483-1,952llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir
+6,825-0utils/bazel/llvm-project-overlay/libc/src/__support/math/BUILD.bazel
+4,229-24llvm/test/CodeGen/AMDGPU/combine-carry-into-uadde-usube.ll
+3,674-0utils/bazel/llvm-project-overlay/libc/src/math/BUILD.bazel
+1,728-1,728clang/test/Headers/__clang_hip_math.hip
+23,219-22,8439,003 files not shown
+304,100-153,3029,009 files

LLVM/project 915f60f — llvm/test/CodeGen/AArch64 fixed-masked-scatter.ll, llvm/test/CodeGen/AMDGPU licm-regpressure-peak.mir

[MachineLICM] Track peak register pressure when hoisting

The pressure check in MachineLICM only looks at the estimates saved in
BackTrace. These record pressure at block boundaries, so they can miss an
earlier peak in the current BB or an ancestor BB. If pressure falls before the
candidate, the check can allow it to move even though its def then needs to stay
live across that earlier peak. This can push pressure beyond the limit and cause
spills.

This PR adds PeakPressure alongside RegPressure and saves the previous peak with
the existing boundary estimate in BackTrace. The pressure check considers the
current BB's peak and both saved estimates. Normal hoists adjust the current and
saved peaks, and scope exit restores the previous peak. Preheader scanning skips
peak updates and seeds the starting pressure from its final estimate.

Fixes LCOMPILER-3233.

This PR was assisted by AI but I reviewed all the changes.
DeltaFile
+412-412llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm70.ll
+412-412llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm60.ll
+263-263llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
+134-192llvm/test/CodeGen/AArch64/fixed-masked-scatter.ll
+209-0llvm/test/CodeGen/AMDGPU/licm-regpressure-peak.mir
+92-108llvm/test/CodeGen/RISCV/rvv/pr165232.ll
+1,522-1,38715 files not shown
+2,172-1,77421 files

LLVM/project d901a1e — llvm/lib/CodeGen RegisterClassInfo.cpp, llvm/test/CodeGen/AMDGPU regpressure-stress-regalloc.mir av-split-dead-valno-crash.ll

[CodeGen] Honor -stress-regalloc in register pressure limits

RegisterClassInfo clips each allocation order for -stress-regalloc, but
computePSetLimit treats the removed entries as reserved registers. On
AMDGPU, their weight can exceed the target limit, so the underflow guard
returns the target limit and loses the stress restriction.

Use the weighted allocatable register count for the stress limit, bounded
by the target limit. Keep the normal calculation and zero-allocation
fallback.

Add a MIR test where hoisting a COPY needs a seventh VGPR unit. A stress
limit of six keeps it in the loop, while a limit of eight and the
unrestricted limit allow it. Update the affected AMDGPU stress test.

Validation: all 50 stress-regalloc tests pass with MachineLICM unchanged.
The new MIR test fails without the pressure-limit fix.

This PR was assisted by AI.
DeltaFile
+43-45llvm/test/CodeGen/AMDGPU/av-split-dead-valno-crash.ll
+83-0llvm/test/CodeGen/AMDGPU/regpressure-stress-regalloc.mir
+7-0llvm/lib/CodeGen/RegisterClassInfo.cpp
+133-453 files

LLVM/project 82f48a7 — compiler-rt/lib/sanitizer_common sanitizer_linux.cpp, compiler-rt/lib/sanitizer_common/tests sanitizer_linux_test.cpp

[sanitizer] Use clock_nanosleep_time64 for 32-bit Linux delays (#241663)

internal_usleep passes libc's struct timespec directly to the nanosleep
syscall. On 32-bit Linux with time64 musl, that structure does not match
the legacy syscall layout.
    
Use clock_nanosleep_time64 when its syscall number is available, with
explicit 64-bit seconds and nanoseconds.

clock_nanosleep_time64 was introduced in Linux 5.1. On older kernels,
ENOSYS triggers a DCHECK in debug builds.
DeltaFile
+13-0compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
+6-0compiler-rt/lib/sanitizer_common/tests/sanitizer_linux_test.cpp
+19-02 files

LLVM/project 8f671fe — llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

OpenMP: Use getOrInsertFunction init callback for runtime functions (#242564)

Use the new overload to set up the function on first use. The
MD_callback check is dropped since a newly created function will never
have metadata.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+19-38llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+19-381 files