Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
764 commits
Select commit Hold shift + click to select a range
22c9f4c
[VPlan] Replace VPInterleaveRecipe::classof with VP_CLASSOF_IMPL. (NFC)
fhahn Jan 18, 2023
695ce48
Revert "[ConstraintElim] Enable pass by default."
fhahn Jan 18, 2023
ae0c232
[Regex] Check two chars in step back optimization (NFC)
nikic Jan 18, 2023
e5f7116
[mlir][vector] Limit vector.mask op to single vector result
matthias-springer Jan 18, 2023
feee22d
[VPlan] Disconnect VPRegionBlock from successors in graph iterator(NFCI)
fhahn Jan 18, 2023
f845076
[StatepointLowering] Move statepoint correctness checks to Verifier. …
dantrushin Jan 17, 2023
eb42b67
[InstCombine][InstSimplify] add tests for i1/i2 mul with no-wrap; NFC
rotateright Jan 18, 2023
830ac67
[InstCombine] reduce code duplication in visitSub(); NFC
rotateright Jan 18, 2023
d35c7e4
[flang] Move TODO to the source allocation part
clementval Jan 18, 2023
1720ec6
[InstCombine] restrict no-wrap propagation for i1/i2 to avoid miscomp…
rotateright Jan 18, 2023
e4d9a5e
[flang] Add implementation of move_alloc to the runtime
DavidTruby Jan 9, 2023
3af113f
[Assignment Tracking] Replace metadata number with variable capture i…
OCHyams Jan 18, 2023
7460842
[DAGCombiner] `combineShuffleOfSplatVal()`: don't assert that shuffle…
LebedevRI Jan 18, 2023
8650947
[clang][Interp] Track initialization state of local variables
tbaederr Dec 26, 2022
f8bed13
[libc++][format] Adds new test macros.
mordante Dec 17, 2022
ea0eee8
[Libomptarget] Only build GPU tests if a GPU is found on the system
jhuber6 Jan 18, 2023
4cec5ea
[mlir][tosa] Set explicit benefit for tosa.reshape to linalg
rsuderman Jan 18, 2023
198d1d9
[mlir][tosa] Prefer tosa.transpose composition canonicalization to re…
rsuderman Jan 18, 2023
29d25f9
[clang][Interp][NFC] Simplify InterpFrame constructor
tbaederr Oct 12, 2022
9ee625b
[Clang] Update the help message for `--offload-arch`
jhuber6 Jan 18, 2023
94d89aa
[flang] Allocate polymorphic with SOURCE= using ApplyMold
clementval Jan 18, 2023
9ae4e1a
[flang] Do not perform INTERNAL_CHECK for deallocation of unlimited p…
clementval Jan 18, 2023
f311922
[OpenMP][libomp] Fix stats-gathering for new MSVC sections API
Dec 12, 2022
ff6f4ae
Reduce input arguments for `getPackingInfoFromConsumer` (NFC)
chelini Jan 12, 2023
2aea0a9
[OpenMP][libomp] Switch Intel topology type values: module, tile
Jan 18, 2023
0246c5d
[NFC] Release Note for D138995
tru Jan 18, 2023
b4a0b9f
[lldb][Language] List supported languages in expr error text
Michael137 Jan 18, 2023
ecade80
[clang][Darwin] Try to guess the SDK root with xcrun when unspecified
calebzulawski Jan 18, 2023
1378e7d
[InstSimplify] add no-wrap parameters to simplifyMul and add more tes…
rotateright Jan 18, 2023
57662cb
[OpenMP] Disable building `libomptarget` on 32-bit systems
shiltian Jan 18, 2023
1ce0617
[InstSimplify] reduce "mul nsw i1" to "false"
rotateright Jan 18, 2023
2307029
[libTooling] Rename `getRangeForEdit` as `getFileRangeForEdit`
tJener Jan 12, 2023
8565e83
[hwasan] add pattern for short tag in symbolizer
Jan 18, 2023
0f4b4e8
[OpenMP] RecordReplay saves bitcode when JIT-ing
ggeorgakoudis Dec 14, 2022
9778802
[RISCV] Make it explicit that attributes use the MCSubtargetInfo from…
topperc Jan 18, 2023
82fa51f
[RISCV] Use TargetMachine MCSubtargetInfo in RISCVAsmPrinter::EmitHwa…
topperc Jan 18, 2023
97cb619
[RISCV] Use canonical move instruction in RISCVAsmPrinter::EmitHwasan…
topperc Jan 18, 2023
5d98dc7
[llvm][GenericUniformity] Hack around strict is_invocable() checks
krzysz00 Jan 16, 2023
db223b7
Do qProcessInfo-hint binary loading later in Process setup
jasonmolenda Jan 18, 2023
1136cf1
[SystemZ] Implement lowering of GET_ROUNDING
tuliom Jan 18, 2023
706606a
[BOLT][NFC] Remove AArch64 override for evaluateBranch
aaupov Jan 18, 2023
4a7966e
[BOLT][NFC] DataAggregator code cleanup
aaupov Dec 9, 2022
d3da906
[CMake] Allow setting the location of host tools with LLVM_NATIVE_TOO…
mstorsjo Aug 2, 2022
304d730
[clang][Sema] Fix uninitialized `SourceLocation` for types with multi…
vsapsai Jan 10, 2023
39a63fc
[-Wunsafe-buffer-usage] Use relevant source locations for warnings
jkorous-apple Jan 10, 2023
43f382a
[BOLT][NFC] Simplify handleRelocation
aaupov Jan 18, 2023
005c158
[HWASAN] Fix Fuchsia link problem
kstoimenov Jan 18, 2023
a033dbb
[Clang] Give Clang the ability to use a shared stat cache
fredriss Oct 20, 2022
c5abe89
[StatCacheFileSystem] Attempt to fix build
fredriss Jan 18, 2023
69a9bbf
[BOLT][NFC] Replace ambiguous BinarySection::isReadOnly with isWritable
aaupov Jan 18, 2023
237ca43
[-Wunsafe-buffer-usage] Group diagnostics by variable
jkorous-apple Jan 18, 2023
debfa43
[Clang][NFC] Clang-format CUDA toolchain file
jhuber6 Jan 18, 2023
a4f246a
[OpenMP] Fix inconsistent task state if hot team is not used
shiltian Jan 18, 2023
9545580
[HWASAN] Remove FindHeapChunkByAddressFastLocked
kstoimenov Jan 18, 2023
da5a8d1
Reland [pgo] Avoid introducing relocations by using private alias
ilovepi Jan 18, 2023
f0e7ae0
[AMDGPU] Run autogen checks on test
jrbyrnes Jan 19, 2023
0660397
[CUDA] Allow targeting NVPTX directly without a host toolchain
jhuber6 Dec 15, 2022
dc3875e
Add parameter extension attributes in various instrumentation passes.
JonPsson Sep 15, 2022
3ff1726
[OpenMP][AMDGPU] Get rid of redundant macro def
shiltian Jan 19, 2023
97ae7d8
[OpenMP][OMPT] Expect failure from tool_available_search.c on macOS
shiltian Jan 19, 2023
0ce4fca
[NFC][sanitizers] Add COMPILER_RT_HAS_WTHREAD_SAFETY_*_FLAG
vitalybuka Jan 19, 2023
ad4b66f
[ORC-RT] Specialize non-coalescing-IntervalMap to allow non-comparabl…
lhames Jan 19, 2023
f2b4b54
[HWASAN] Init lsan and install at_exit hook
kstoimenov Dec 21, 2022
557a5bc
[codegen] Add StackFrameLayoutAnalysisPass
ilovepi Jan 13, 2023
8d498e0
[gn] port a033dbbe5c43 (clang-stat-cache)
nico Jan 19, 2023
c79635c
[NFC] [Serialization] Add static assert for the size of the decls to
ChuanqiXu9 Jan 18, 2023
a702c05
[gn build] Port 557a5bc336ff
llvmgnsyncbot Jan 19, 2023
38a2f08
Revert "[NFC] [Serialization] Add static assert for the size of the d…
ChuanqiXu9 Jan 19, 2023
f252333
[-Wunsafe-buffer-usage][NFC] Fix Fixables filtering
jkorous-apple Jan 19, 2023
3e731af
[mlir] Limit Interface generation to the top-level input file
River707 Dec 15, 2022
5cdc2bb
[mlir] Move SymbolOpInterfaces "classof" check to a proper "extraClas…
River707 Dec 16, 2022
83a635c
[mlir] Add support for interface inheritance
River707 Jan 12, 2023
b2bdb0b
[mlir] Make FunctionOpInterface inherit SymbolOpInterface
River707 Dec 16, 2022
26f83b4
[flang] Fixed unittest build issue with older gcc.
vzakhari Jan 19, 2023
83d56fb
Drop the ZeroBehavior parameter from countLeadingZeros and the like (…
kazutakahirata Jan 19, 2023
a6e3027
[X86] Avoid converting u64 to f32 using x87 on Windows
Jan 19, 2023
741cb06
[clang][Interp][NFC] Remove unused functions
tbaederr Jan 17, 2023
1221af9
[clang][Interp] Use placement new to construct opcode args into vector
tbaederr Dec 2, 2022
d44f4fa
[clang][Interp][NFC] Initialize constants as ~0u
tbaederr Jan 18, 2023
9ef43ad
[InstCombine] regenerete icmp-logical tests (NFC)
inclyc Jan 19, 2023
7fa0a3c
[LoongArch] Add an option for MCInstPrinter to print numeric reg names
wangleiat Jan 19, 2023
6b0cd49
[clang][Interp] Check Field initialization after constructor call
tbaederr Oct 25, 2022
6c8a884
[mlir] fix python test
ftynse Jan 19, 2023
d49d83e
[MLIR][LLVM] Don't use void return type in `getCallableResults`.
definelicht Jan 19, 2023
6b85fa6
[InstCombine] Don't optimize idempotent `atomicrmw <op>, 0` into `loa…
qcolombet Jan 18, 2023
ffafa0d
[test][InstCombine] Remove out-of-date comment
qcolombet Jan 19, 2023
921c6f0
[mlir][FuncToLLVM] Drop llvm.linkage attribute
Dinistro Jan 19, 2023
871815e
[AArch64][SVE2p1] Add SVE2.1 while (predicate-pair) intrinsics
david-arm Jan 17, 2023
5b54cf1
[clang][Interp] Unify visiting variable declarations
tbaederr Oct 27, 2022
ccb6749
[clangd] Simplify some tests in IncludeCleanerTests, NFC
hokein Jan 19, 2023
9308014
[clang][Interp] Diagnose uninitialized array record fields
tbaederr Oct 27, 2022
883c117
[Regex] Avoid NFA machinery for fixed prefix chars (NFC)
nikic Jan 19, 2023
88c5027
[mlir] make multi-size tiling use transform parameters
ftynse Jan 4, 2023
98acd74
[mlir] simpler transform dialect silenceable failures
ftynse Jan 9, 2023
3d70f3c
[mlir] fix mlir integration tests
ftynse Jan 19, 2023
9b9cfe7
[mlir][LLVM] Replace readnone with memory effects
Dinistro Jan 12, 2023
e91a5ce
[mlir][vector] Add a custom builder for LowerVectorsOp
qcolombet Jan 17, 2023
2aa23ff
[clang][Interp][NFCI] Pull IsConstantContext into State
tbaederr Oct 30, 2022
fddf641
[clang][Interp][NFC] Remove shift error checking code duplication
tbaederr Oct 30, 2022
9ee0d74
[clang][Interp][NFC] Move CheckDivRem() implementation into Interp.cpp
tbaederr Oct 30, 2022
490e821
[clang][Interp] Implement missing compound assign operators
tbaederr Oct 31, 2022
2dbcfd2
Revert "[clang][Interp][NFC] Move CheckDivRem() implementation into I…
tbaederr Jan 19, 2023
658bf08
[NFC][bazel] Enable layering_check for mlir/unittests
rupprecht Jan 19, 2023
e4ebe14
[mlir][OpenMP] Add nontemporal clause definition to simd construct
DominikAdamski Dec 22, 2022
85acfc6
Revert "[clang][Interp][NFC] Remove shift error checking code duplica…
tbaederr Jan 19, 2023
bf4140c
[AMDGPU] Add feature predicate for v_fmac_f64 instruction
mariusz-sikora-at-amd Jan 18, 2023
655c88c
[VPlan] Add vp_depth_first_shallow + graph traits for wrapper(NFC)
fhahn Jan 19, 2023
1499cce
[clang] Improve diagnostic for "initializer-string for char array is …
evansmal Jan 19, 2023
2826869
[DAG] Do not combine any_ext when we combine and into zext.
deadalnix May 1, 2022
0f5a81c
[clang][Interp][NFC] Remove shift error checking code duplication
tbaederr Jan 19, 2023
f6ea1af
Revert "[clang][Interp] Implement missing compound assign operators"
tbaederr Jan 19, 2023
8df7e81
Revert "[clang][Interp] Unify visiting variable declarations"
tbaederr Jan 19, 2023
786cb15
[SPIR-V] Add -opaque-pointers=0 to some LIT tests
michalpaszkowski Jan 18, 2023
94750af
[MLIR][Presburger] Support divisions in union of two PWMAFunction
Groverkss Jan 19, 2023
6ad1b40
Optimize OptTable::findNearest implementation and usage
serge-sans-paille Jan 18, 2023
1119c15
[flang][hlfir] Enable lowering and passing of allocatables and pointers.
jeanPerier Jan 19, 2023
e70ca7b
[clang] Build UsingType for elaborated type specifiers.
hokein Jan 3, 2023
7e5681c
[DAG] Peek through ZEXT/TRUNC in foldAddSubMasked1
deadalnix Jan 17, 2023
e741b8c
[llvm][ir] Purge MD_prof custom accessors
Dinistro Jan 19, 2023
939dce1
[clangd] Implement unused include warnings with include-cleaner library.
hokein Jan 2, 2023
d3ae856
[gn] port 939dce12f9f3 (clangd uses include-cleaner)
nico Jan 19, 2023
77529ea
[gn] port 939dce12f9f3 (clangd uses include-cleaner) more
nico Jan 19, 2023
67bd3c5
[X86] Add register definitions for cfi directives
abrachet Jan 19, 2023
4ace72e
[InstCombine] Add tests for freeze with !range and !align metadata (NFC)
nikic Jan 19, 2023
2bcedd4
[SPIR-V] Emit OpExecutionMode ContractionOff for no FP_CONTRACT metadata
michalpaszkowski Jan 18, 2023
c441f65
[clang][dataflow] Add (initial) debug printing for `Value` and `Envir…
ymand Jan 13, 2023
0c2630b
[InstCombine] Drop incorrect test (NFC)
nikic Jan 19, 2023
adcc90a
[InstCombine] Add non-logical variants for some ctpop and/or tests (NFC)
nikic Jan 19, 2023
03c45f1
[Dexter] Add on_line parameter to DexExpectStepOrder command
Jan 19, 2023
e0b3b6c
[OpenMP][Fix] Track all threads that may delete an entry
GuilhermeValarini Jan 19, 2023
ee700de
[AArch64] Armv9-A implies FP16
davemgreen Jan 19, 2023
9c0f957
[InstCombine] Add test for load type conversion with !noundef (NFC)
nikic Jan 19, 2023
f13d600
[flang] Add semantic check for multiple part-ref with non-zero rank
kkwli Jan 19, 2023
b3b049a
[Local] Preserve noundef metadata in copyMetadataForLoad()
nikic Jan 19, 2023
3508f69
[flang][hlfir] Lower whole allocatable or pointer component ref
jeanPerier Jan 19, 2023
daa316b
[clang][dataflow] Fix bug in joining bool values.
ymand Jan 13, 2023
48df06f
[AArch64] Allow poison elements of fixed-vectors to be duplicated as …
MDevereau Jan 16, 2023
e84d69f
[clangd] Fix clangd-fuzzer build.
hokein Jan 19, 2023
72dc033
[SROA] Check TBAA metadata in tests (NFC)
nikic Jan 19, 2023
22e8525
[libc++][format] Implements range_formatter
mordante May 5, 2022
c85cecf
[gn build] Port 22e8525dfdd7
llvmgnsyncbot Jan 19, 2023
a459a24
[flang] Fix SELECT TYPE lowering when CLASS DEFAULT is not the last t…
clementval Jan 19, 2023
e315b87
[flang] Support polymorphic source in RESHAPE intrinsic
clementval Jan 19, 2023
fd26eee
[flang] Allow pointer association between derived-type pointer and un…
clementval Jan 19, 2023
a0f8bdb
[lit] Stop supporting triple substrings in UNSUPPORTED and XFAIL
pogo59 Jan 4, 2023
ac09387
[NFC][bazel] Add _tensor_ops_ext.py to SparseTensorOpsPyFiles
rupprecht Jan 19, 2023
afca08a
[NFC][bazel] Move _tensor_ops_ext.py to the correct filegroup
rupprecht Jan 19, 2023
a9c5a98
[SystemZ] Improvement in tryRxSBG().
JonPsson Jan 18, 2023
04d4f4b
[libc++][format] Adds container adaptor formatters.
mordante May 5, 2022
3e6afa7
[CostModel][AArch64] Precommit tests for LD1 single-element to lane. …
sjoerdmeijer Jan 11, 2023
68f4579
[AARCH64][SVE] Do not optimize vector conversions
bzinodev Jan 19, 2023
6ef990c
[gn build] Port 04d4f4b3d4e4
llvmgnsyncbot Jan 19, 2023
a09b1dc
[libc++][format] Adds formatter std::vector<bool>.
mordante Nov 29, 2022
eef0210
[Flang][Debug] Modifications for getting pathname
kiranchandramohan Jan 19, 2023
176c853
[libc] add internal string class
michaelrj-google Jan 6, 2023
9a32e53
[libc] add scanf float converter
michaelrj-google Dec 21, 2022
bc94a9b
Silence some sign comparison warnings; NFC
AaronBallman Jan 19, 2023
b147636
[NFC][flang] Added debug option to bisect TBAA tag attachments.
vzakhari Jan 19, 2023
2f8b920
Revert "[lit] Stop supporting triple substrings in UNSUPPORTED and XF…
pogo59 Jan 19, 2023
b3faa1a
Fix zero-initialization fix-it for variable template
v1nh1shungry Jan 19, 2023
b05fa4f
[clang][driver][AIX] Add OpenMP runtime if -fopenmp specified
xingxue-ibm Jan 19, 2023
4553056
[mlir][Index] Implement InferIntRangeInterface
krzysz00 Jan 9, 2023
af05e81
[Sanitizers] GetMemoryProfile implementation for FreeBSD.
devnexen Jan 19, 2023
1d98861
[mlir][SCF] Fix crash in loop peeling
matthias-springer Jan 19, 2023
d0907ce
[LoopUnroll] Directly update DT instead of DTU.
fhahn Jan 19, 2023
b5d9f00
Forbid implicit conversion of constraint expression to bool
Jan 17, 2023
7f66e18
[MLIR] Add InferTypeOpInterface to scf.if op
frgossen Jan 19, 2023
1f3f3c0
Revert "Reland [pgo] Avoid introducing relocations by using private a…
aeubanks Jan 19, 2023
117ecdd
[IRLinker] Replace CallInstr with CallBase
gulfemsavrun Jan 14, 2023
9f59aff
Revert "[mlir][Index] Implement InferIntRangeInterface"
krzysz00 Jan 19, 2023
bec49b1
[LinkerWrapper] Use `clang` to perform the device linking
jhuber6 Jan 19, 2023
679c352
[Clang][NFC] Tweak error message for GPU architecture tools
jhuber6 Jan 19, 2023
e7f080b
[AMDGPU] Introduce separate register limit bias in scheduler
rampitec Jan 18, 2023
63e7e9c
[AMDGPU] Treat WMMA the same as MFMA for sched_barrier
rampitec Jan 18, 2023
c908014
[libc++] Refactor deque::iterator algorithm optimizations
philnik777 Nov 20, 2022
7c1ac65
[gn build] Port c90801457f7c
llvmgnsyncbot Jan 19, 2023
399b8ee
[MLIR] Update bazel build file after 455305624884cf9237143e2ba0635fcc…
frgossen Jan 19, 2023
eac59fa
Add tests for ctpop(X) where X is a power of 2; NFC
goldsteinn Jan 19, 2023
78f29ac
Add transform ctpop(X) -> 1 iff X is non-zero power of 2
goldsteinn Jan 19, 2023
1d67f2c
Removing 'TuningSlow3OpsLEA' from ICL config
goldsteinn Jan 19, 2023
176a082
[opt] Fix static code analysis concerns
asudarsa Jan 19, 2023
a478193
Remove useless / untested verifier in scf.foreach_thread (NFC)
joker-eph Jan 17, 2023
af5fc4b
[libc++][format] range-default-formatter for map
mordante May 5, 2022
887240f
Remove the undocumented `help` subcommand.
jimingham Jan 19, 2023
af9a452
[llvm][codegen] Fix non-determinism in StackFrameLayoutAnalysisPass o…
ilovepi Jan 19, 2023
9ef7ae5
Revert "[MLIR] Update bazel build file after 455305624884cf9237143e2b…
frgossen Jan 19, 2023
066b4fc
[mlir] Update VectorToGPU to new memory space
ThomasRaoux Jan 19, 2023
3a362a9
[OpenMP][libomp] Insert correct HWLOC version guards
ggouaillardet Jan 19, 2023
e2c43a5
[VPlan] Add vp_depth_first_deep (NFC)
fhahn Jan 19, 2023
31b0be4
[Clang] Add lifetimebound attribute to std::move/std::forward
alexander-shaposhnikov Jan 19, 2023
725a21b
Reland "[lit] Stop supporting triple substrings in UNSUPPORTED and
pogo59 Jan 19, 2023
9fecd58
[OpenMP] Build device runtimes for sm_89 and sm_90
ye-luo Jan 19, 2023
9bdcf87
[SLP]Improve isGatherShuffledEntry by looking deeper through the reus…
alexey-bataev Jan 10, 2023
160bc16
[ODRHash] Hash `RecordDecl` and diagnose discovered mismatches.
vsapsai Dec 2, 2022
f33b5b1
[ODRHash] Detect mismatches in anonymous `RecordDecl`.
vsapsai Dec 6, 2022
cf12709
Revert "[Clang] Give Clang the ability to use a shared stat cache"
fredriss Jan 19, 2023
bd3ee37
Revert "[AArch64][v8.3A] Avoid inserting implicit landing pads (PACI*…
eugenis Jan 18, 2023
e8a163d
[llvm] Cleanup edit_distance short circuiting
serge-sans-paille Jan 19, 2023
6b43568
[Bazel] Fix layering issues
GMNGeoffrey Jan 19, 2023
1f08d3b
[AMDGPU] Further reduce attaching of implicit operands to spills
jrbyrnes Jan 12, 2023
32c26e2
CUDA/HIP: Use kernel name to map to symbol
Dec 25, 2022
4626bd0
[mlir][vector] Disable folding for masked reductions
dcaballe Jan 19, 2023
ed6d09d
[Lex] For dependency directive lexing, angled includes in `__has_incl…
akyrtzi Jan 19, 2023
d5cbaa0
[Linalg] Don't create complex vectors when vectorizing copies
d0k Jan 19, 2023
c5ea42b
Revert "[LoopUnroll] Directly update DT instead of DTU."
aeubanks Jan 20, 2023
a5f446b
Revert "[clang][Darwin] Try to guess the SDK root with xcrun when uns…
nico Jan 20, 2023
56ba0ba
Revert "[gn] port a033dbbe5c43 (clang-stat-cache)"
nico Jan 20, 2023
6083410
[lldb] Re-enable xmm/ymm/zmm tests with the system debugserver
JDevlieghere Jan 20, 2023
23cc36e
llvm-reduce: Use consistent ReductionFunc types
arsenm Jan 16, 2023
a6000c1
llvm-reduce: Account for aliases and ifuncs in IR complexity score
arsenm Jan 17, 2023
0782d97
llvm-reduce: Account for initializer complexity
arsenm Jan 17, 2023
c39735c
llvm-reduce: Use WithColor in another error message
arsenm Jan 19, 2023
33ff9d9
llvm-reduce: Fix typo in help text
arsenm Jan 19, 2023
05927eb
[mlir][LLVM] Tidy up DebugTranslation casting
River707 Jan 20, 2023
c919ea5
[AVR] Fix incorrectly printed global symbol operands in inline-asm
benshi001 Jan 19, 2023
333ffaf
llvm-reduce: Trim includes and avoid using namespace in a header
arsenm Jan 14, 2023
3ac4299
[clang] Don't short-circuit constant evaluation for array or record t…
cmagahern Jan 9, 2023
3006cb2
[HIP] Unbundler allows missing host entry
yxsamliu Jan 19, 2023
9c2cfaa
[Clang][OpenMP] Allow `f16` literal suffix when compiling OpenMP targ…
shiltian Jan 20, 2023
6c48540
Adding missing colon
Jan 20, 2023
b40a3d7
[libc++] Implement P2446R2 (views::as_rvalue)
philnik777 Dec 11, 2022
e52ce7f
[libc++] Remove old CI configurations and update the supported compil…
philnik777 Sep 6, 2022
71283fd
[gn build] Port b40a3d73dc9c
llvmgnsyncbot Jan 20, 2023
f37614b
[llvm] Move bit counting functions to bit.h (NFC)
kazutakahirata Jan 20, 2023
1692dff
Revert "[X86] Avoid converting u64 to f32 using x87 on Windows"
topperc Jan 20, 2023
79b917b
[libc++] Mark LWG3349 as complete
philnik777 Jan 20, 2023
3507df9
[ORC][ORC-RT] Add support for callback-based lookup of JIT'd MachO un…
lhames Jan 20, 2023
dddcf30
[ADT,Support] Include compiler.h
kazutakahirata Jan 20, 2023
21f4232
[libc++] Enable segmented iterator optimizations for join_view::iterator
philnik777 Nov 21, 2022
6ab938c
[gn build] Port 21f4232dd963
llvmgnsyncbot Jan 20, 2023
c3f0efe
[mlir][Linalg] Fix crash in LinalgToStandard
nicolasvasilache Jan 20, 2023
6b2e29c
NFC. Refactor affine fusion code for readability
bondhugula Jan 20, 2023
2133e8b
[clangd] Fix shared lib builds
kadircet Jan 20, 2023
02fb5aa
[mlir][Linalg] Add missing test
nicolasvasilache Jan 20, 2023
ff94419
[mlir][Linalg] Fix crash in LinalgToStandard
nicolasvasilache Jan 20, 2023
790f237
[mlir][Linalg] Add a structured.pack_transpose transform op
nicolasvasilache Jan 18, 2023
928a176
[X86][WIP] Change precision control to FP80 during u64->fp32 conversi…
topperc Jan 20, 2023
e62ffd3
[RISCV][TableGen] Use getAllDerivedDefinitions in RISCVTargetDefEmitt…
topperc Jan 20, 2023
f4fa34c
Revert "[X86][WIP] Change precision control to FP80 during u64->fp32 …
topperc Jan 20, 2023
3557621
Add security group 2022 transparency report.
kbeyls Jan 20, 2023
e74f9e7
[include-mapping] Parse zombie_names.html into a removed symbols map.
VitaNuo Jan 16, 2023
e1a702d
[GVN] Refactor findDominatingLoad function
skachkov-sc Jan 13, 2023
08ce89d
[Flang] Explicitly include cstdint (NFC)
nikic Jan 19, 2023
b7894eb
[clang][Interp] Initialize remaining InlineDescriptor fields
tbaederr Jan 20, 2023
87e345b
[mlir] GreedyPatternRewriteDriver: Add new strict mode option
matthias-springer Jan 20, 2023
ea4fd66
[clang] fix crash on generic lambda with lambda in decltype
v1nh1shungry Jan 2, 2023
1b4fdf1
[libomp] Explicitly include <string> header (NFC)
nikic Jan 20, 2023
0e13ccc
[VPlan] Add initial VPDT test. (NFC)
fhahn Jan 20, 2023
afa8291
[gn build] Port 0e13ccc69cf2
llvmgnsyncbot Jan 20, 2023
81ce66b
[MLIR][LLVM] Support inlining LLVM::CallOp to LLVM::FuncOp.
definelicht Jan 12, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
9 changes: 3 additions & 6 deletions bolt/include/bolt/Core/BinarySection.h
Original file line number Diff line number Diff line change
Expand Up @@ -232,8 +232,8 @@ class BinarySection {
return isText() > Other.isText();

// Read-only before writable.
if (isReadOnly() != Other.isReadOnly())
return isReadOnly() > Other.isReadOnly();
if (isWritable() != Other.isWritable())
return isWritable() < Other.isWritable();

// BSS at the end.
if (isBSS() != Other.isBSS())
Expand Down Expand Up @@ -275,10 +275,7 @@ class BinarySection {
bool isTBSS() const { return isBSS() && isTLS(); }
bool isVirtual() const { return ELFType == ELF::SHT_NOBITS; }
bool isRela() const { return ELFType == ELF::SHT_RELA; }
bool isReadOnly() const {
return ((ELFFlags & ELF::SHF_ALLOC) && !(ELFFlags & ELF::SHF_WRITE) &&
ELFType == ELF::SHT_PROGBITS);
}
bool isWritable() const { return (ELFFlags & ELF::SHF_WRITE); }
bool isAllocatable() const {
if (isELF()) {
return (ELFFlags & ELF::SHF_ALLOC) && !isTBSS();
Expand Down
4 changes: 3 additions & 1 deletion bolt/include/bolt/Core/MCPlusBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -822,7 +822,9 @@ class MCPlusBuilder {
/// \brief Given a branch instruction try to get the address the branch
/// targets. Return true on success, and the address in Target.
virtual bool evaluateBranch(const MCInst &Inst, uint64_t Addr, uint64_t Size,
uint64_t &Target) const;
uint64_t &Target) const {
return Analysis->evaluateBranch(Inst, Addr, Size, Target);
}

/// Return true if one of the operands of the \p Inst instruction uses
/// PC-relative addressing.
Expand Down
2 changes: 1 addition & 1 deletion bolt/lib/Core/BinaryFunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -891,7 +891,7 @@ BinaryFunction::processIndirectBranch(MCInst &Instruction, unsigned Size,
if (!Value)
return IndirectBranchType::UNKNOWN;

if (!BC.getSectionForAddress(ArrayStart)->isReadOnly())
if (BC.getSectionForAddress(ArrayStart)->isWritable())
return IndirectBranchType::UNKNOWN;

outs() << "BOLT-INFO: fixed indirect branch detected in " << *this
Expand Down
5 changes: 0 additions & 5 deletions bolt/lib/Core/MCPlusBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -321,11 +321,6 @@ void MCPlusBuilder::printAnnotations(const MCInst &Inst,
}
}

bool MCPlusBuilder::evaluateBranch(const MCInst &Inst, uint64_t Addr,
uint64_t Size, uint64_t &Target) const {
return Analysis->evaluateBranch(Inst, Addr, Size, Target);
}

void MCPlusBuilder::getClobberedRegs(const MCInst &Inst,
BitVector &Regs) const {
if (isPrefix(Inst) || isCFI(Inst))
Expand Down
2 changes: 1 addition & 1 deletion bolt/lib/Passes/BinaryPasses.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1152,7 +1152,7 @@ bool SimplifyRODataLoads::simplifyRODataLoads(BinaryFunction &BF) {
// memory operand. We are only interested in read-only sections.
ErrorOr<BinarySection &> DataSection =
BC.getSectionForAddress(TargetAddress);
if (!DataSection || !DataSection->isReadOnly())
if (!DataSection || DataSection->isWritable())
continue;

if (BC.getRelocationAt(TargetAddress) ||
Expand Down
33 changes: 14 additions & 19 deletions bolt/lib/Profile/DataAggregator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ bool DataAggregator::checkPerfDataMagic(StringRef FileName) {

auto Close = make_scope_exit([&] { sys::fs::closeFile(*FD); });
Expected<size_t> BytesRead = sys::fs::readNativeFileSlice(
*FD, makeMutableArrayRef(Buf, sizeof(Buf)), 0);
*FD, MutableArrayRef(Buf, sizeof(Buf)), 0);
if (!BytesRead) {
consumeError(BytesRead.takeError());
return false;
Expand Down Expand Up @@ -644,13 +644,12 @@ void DataAggregator::processProfile(BinaryContext &BC) {
processMemEvents();

// Mark all functions with registered events as having a valid profile.
const auto Flags = opts::BasicAggregation ? BinaryFunction::PF_SAMPLE
: BinaryFunction::PF_LBR;
for (auto &BFI : BC.getBinaryFunctions()) {
BinaryFunction &BF = BFI.second;
if (getBranchData(BF) || getFuncSampleData(BF.getNames())) {
const auto Flags = opts::BasicAggregation ? BinaryFunction::PF_SAMPLE
: BinaryFunction::PF_LBR;
if (getBranchData(BF) || getFuncSampleData(BF.getNames()))
BF.markProfiled(Flags);
}
}

// Release intermediate storage.
Expand Down Expand Up @@ -727,17 +726,14 @@ bool DataAggregator::doIntraBranch(BinaryFunction &Func, uint64_t From,

From -= Func.getAddress();
To -= Func.getAddress();
LLVM_DEBUG(dbgs() << "BOLT-DEBUG: bumpBranchCount: " << Func.getPrintName()
<< " @ " << Twine::utohexstr(From) << " -> "
<< Func.getPrintName() << " @ " << Twine::utohexstr(To)
<< '\n');
LLVM_DEBUG(dbgs() << "BOLT-DEBUG: bumpBranchCount: "
<< formatv("{0} @ {1:x} -> {0} @ {2:x}\n", Func, From, To));
if (BAT) {
From = BAT->translate(Func.getAddress(), From, /*IsBranchSrc=*/true);
To = BAT->translate(Func.getAddress(), To, /*IsBranchSrc=*/false);
LLVM_DEBUG(dbgs() << "BOLT-DEBUG: BAT translation on bumpBranchCount: "
<< Func.getPrintName() << " @ " << Twine::utohexstr(From)
<< " -> " << Func.getPrintName() << " @ "
<< Twine::utohexstr(To) << '\n');
LLVM_DEBUG(
dbgs() << "BOLT-DEBUG: BAT translation on bumpBranchCount: "
<< formatv("{0} @ {1:x} -> {0} @ {2:x}\n", Func, From, To));
}

AggrData->bumpBranchCount(From, To, Count, Mispreds);
Expand Down Expand Up @@ -1712,8 +1708,7 @@ void DataAggregator::processMemEvents() {
BinaryFunction *Func = getBinaryFunctionContainingAddress(PC);
if (!Func) {
LLVM_DEBUG(if (PC != 0) {
dbgs() << "Skipped mem event: 0x" << Twine::utohexstr(PC) << " => 0x"
<< Twine::utohexstr(Addr) << "\n";
dbgs() << formatv("Skipped mem event: {0:x} => {1:x}\n", PC, Addr);
});
continue;
}
Expand Down Expand Up @@ -2139,10 +2134,10 @@ std::error_code DataAggregator::parseTaskEvents() {
<< BinaryMMapInfo.size() << " PID(s)\n";

LLVM_DEBUG({
for (std::pair<const uint64_t, MMapInfo> &MMI : BinaryMMapInfo)
outs() << " " << MMI.second.PID << (MMI.second.Forked ? " (forked)" : "")
<< ": (0x" << Twine::utohexstr(MMI.second.MMapAddress) << ": 0x"
<< Twine::utohexstr(MMI.second.Size) << ")\n";
for (const MMapInfo &MMI : llvm::make_second_range(BinaryMMapInfo))
outs() << formatv(" {0}{1}: ({2:x}: {3:x})\n", MMI.PID,
(MMI.Forked ? " (forked)" : ""), MMI.MMapAddress,
MMI.Size);
});

return std::error_code();
Expand Down
30 changes: 14 additions & 16 deletions bolt/lib/Rewrite/RewriteInstance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2537,12 +2537,12 @@ void RewriteInstance::handleRelocation(const SectionRef &RelocatedSection,
BC->getBinaryFunctionAtAddress(Address + 1)) {
// Do an extra check that the function was referenced previously.
// It's a linear search, but it should rarely happen.
bool Found =
llvm::any_of(llvm::make_second_range(ContainingBF->Relocations),
[&](const Relocation &Rel) {
return Rel.Symbol == RogueBF->getSymbol() &&
!Relocation::isPCRelative(Rel.Type);
});
auto CheckReloc = [&](const Relocation &Rel) {
return Rel.Symbol == RogueBF->getSymbol() &&
!Relocation::isPCRelative(Rel.Type);
};
bool Found = llvm::any_of(
llvm::make_second_range(ContainingBF->Relocations), CheckReloc);

if (Found) {
errs() << "BOLT-WARNING: detected possible compiler de-virtualization "
Expand Down Expand Up @@ -2581,7 +2581,7 @@ void RewriteInstance::handleRelocation(const SectionRef &RelocatedSection,
ReferencedBF->registerReferencedOffset(RefFunctionOffset);
}
if (opts::Verbosity > 1 &&
!BinarySection(*BC, RelocatedSection).isReadOnly())
BinarySection(*BC, RelocatedSection).isWritable())
errs() << "BOLT-WARNING: writable reference into the middle of the "
<< formatv("function {0} detected at address {1:x}\n",
*ReferencedBF, Rel.getOffset());
Expand Down Expand Up @@ -2675,15 +2675,13 @@ void RewriteInstance::handleRelocation(const SectionRef &RelocatedSection,

auto checkMaxDataRelocations = [&]() {
++NumDataRelocations;
if (opts::MaxDataRelocations &&
NumDataRelocations + 1 == opts::MaxDataRelocations) {
LLVM_DEBUG({
dbgs() << "BOLT-DEBUG: processing ending on data relocation "
<< NumDataRelocations << ": ";
});
LLVM_DEBUG(if (opts::MaxDataRelocations &&
NumDataRelocations + 1 == opts::MaxDataRelocations) {
dbgs() << "BOLT-DEBUG: processing ending on data relocation "
<< NumDataRelocations << ": ";
printRelocationInfo(Rel, ReferencedSymbol->getName(), SymbolAddress,
Addend, ExtractedValue);
}
});

return (!opts::MaxDataRelocations ||
NumDataRelocations < opts::MaxDataRelocations);
Expand Down Expand Up @@ -3915,7 +3913,7 @@ void RewriteInstance::mapAllocatableSections(RuntimeDyld &RTDyld) {
if (!Section.hasValidSectionID())
continue;

if (Section.isReadOnly() != (SType == ST_READONLY))
if (Section.isWritable() == (SType == ST_READONLY))
continue;

if (Section.getOutputAddress()) {
Expand Down Expand Up @@ -4165,7 +4163,7 @@ void RewriteInstance::rewriteNoteSections() {
// Set/modify section info.
BinarySection &NewSection = BC->registerOrUpdateNoteSection(
SectionName, SectionData, Size, Section.sh_addralign,
BSec->isReadOnly(), BSec->getELFType());
!BSec->isWritable(), BSec->getELFType());
NewSection.setOutputAddress(0);
NewSection.setOutputFileOffset(NextAvailableOffset);

Expand Down
28 changes: 0 additions & 28 deletions bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -435,34 +435,6 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
return getTargetAddend(Op.getExpr());
}

bool evaluateBranch(const MCInst &Inst, uint64_t Addr, uint64_t Size,
uint64_t &Target) const override {
size_t OpNum = 0;

if (isConditionalBranch(Inst)) {
assert(MCPlus::getNumPrimeOperands(Inst) >= 2 &&
"Invalid number of operands");
OpNum = 1;
}

if (isTB(Inst)) {
assert(MCPlus::getNumPrimeOperands(Inst) >= 3 &&
"Invalid number of operands");
OpNum = 2;
}

if (Info->get(Inst.getOpcode()).OpInfo[OpNum].OperandType !=
MCOI::OPERAND_PCREL) {
assert((isIndirectBranch(Inst) || isIndirectCall(Inst)) &&
"FAILED evaluateBranch");
return false;
}

int64_t Imm = Inst.getOperand(OpNum).getImm() << 2;
Target = Addr + Imm;
return true;
}

bool replaceBranchTarget(MCInst &Inst, const MCSymbol *TBB,
MCContext *Ctx) const override {
assert((isCall(Inst) || isBranch(Inst)) && !isIndirectBranch(Inst) &&
Expand Down
2 changes: 1 addition & 1 deletion bolt/test/X86/jt-symbol-disambiguation-3.s
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# Before assembler: Instruction operand is: jumptable - 32
# After linking: Instruction operand is: another_jumptable

# REQUIRES: system-linux
# REQUIRES: system-linux, asserts

# XFAIL: *

Expand Down
49 changes: 49 additions & 0 deletions clang-tools-extra/clang-doc/Representation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,41 @@ mergeInfos(std::vector<std::unique_ptr<Info>> &Values) {
}
}

bool CommentInfo::operator==(const CommentInfo &Other) const {
auto FirstCI = std::tie(Kind, Text, Name, Direction, ParamName, CloseName,
SelfClosing, Explicit, AttrKeys, AttrValues, Args);
auto SecondCI =
std::tie(Other.Kind, Other.Text, Other.Name, Other.Direction,
Other.ParamName, Other.CloseName, Other.SelfClosing,
Other.Explicit, Other.AttrKeys, Other.AttrValues, Other.Args);

if (FirstCI != SecondCI || Children.size() != Other.Children.size())
return false;

return std::equal(Children.begin(), Children.end(), Other.Children.begin(),
llvm::deref<std::equal_to<>>{});
}

bool CommentInfo::operator<(const CommentInfo &Other) const {
auto FirstCI = std::tie(Kind, Text, Name, Direction, ParamName, CloseName,
SelfClosing, Explicit, AttrKeys, AttrValues, Args);
auto SecondCI =
std::tie(Other.Kind, Other.Text, Other.Name, Other.Direction,
Other.ParamName, Other.CloseName, Other.SelfClosing,
Other.Explicit, Other.AttrKeys, Other.AttrValues, Other.Args);

if (FirstCI < SecondCI)
return true;

if (FirstCI == SecondCI) {
return std::lexicographical_compare(
Children.begin(), Children.end(), Other.Children.begin(),
Other.Children.end(), llvm::deref<std::less<>>());
}

return false;
}

static llvm::SmallString<64>
calculateRelativeFilePath(const InfoType &Type, const StringRef &Path,
const StringRef &Name, const StringRef &CurrentPath) {
Expand Down Expand Up @@ -220,6 +255,9 @@ void SymbolInfo::merge(SymbolInfo &&Other) {
mergeBase(std::move(Other));
}

NamespaceInfo::NamespaceInfo(SymbolID USR, StringRef Name, StringRef Path)
: Info(InfoType::IT_namespace, USR, Name, Path) {}

void NamespaceInfo::merge(NamespaceInfo &&Other) {
assert(mergeable(Other));
// Reduce children if necessary.
Expand All @@ -231,6 +269,9 @@ void NamespaceInfo::merge(NamespaceInfo &&Other) {
mergeBase(std::move(Other));
}

RecordInfo::RecordInfo(SymbolID USR, StringRef Name, StringRef Path)
: SymbolInfo(InfoType::IT_record, USR, Name, Path) {}

void RecordInfo::merge(RecordInfo &&Other) {
assert(mergeable(Other));
if (!TagType)
Expand Down Expand Up @@ -289,6 +330,14 @@ void TypedefInfo::merge(TypedefInfo &&Other) {
SymbolInfo::merge(std::move(Other));
}

BaseRecordInfo::BaseRecordInfo() : RecordInfo() {}

BaseRecordInfo::BaseRecordInfo(SymbolID USR, StringRef Name, StringRef Path,
bool IsVirtual, AccessSpecifier Access,
bool IsParent)
: RecordInfo(USR, Name, Path), IsVirtual(IsVirtual), Access(Access),
IsParent(IsParent) {}

llvm::SmallString<16> Info::extractName() const {
if (!Name.empty())
return Name;
Expand Down
Loading