Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
957 commits
Select commit Hold shift + click to select a range
107ce71
[libc] Use real objects and archives in integration tests.
Mar 24, 2022
32012eb
[ELF] Enable new passmanager plugin support for LTO
Jakob-Koschel Mar 24, 2022
711e3a5
[clang][parse] Move source range into ParsedAttibutesView
tbaederr Mar 22, 2022
48285c2
[NFCI] Fix set-but-unused warning in ClangAttrEmitter.cpp
davidbolvansky Mar 24, 2022
44572be
[NFCI] Fix set-but-unused warning in X86AsmBackend.cpp
davidbolvansky Mar 24, 2022
470e1d9
[NFCI] Fix set-but-unused warning in AddressSanitizer.cpp
davidbolvansky Mar 24, 2022
630ea7e
[NFCI] Fix set-but-unused warning in GlobalsStream.cpp
davidbolvansky Mar 24, 2022
1c13bbd
[NFCI] Fix set-but-unused warning in UnwrappedLineParser.cpp
davidbolvansky Mar 24, 2022
8910ac4
[RISCV] Add patterns for vector widening integer multiply
Jan 15, 2022
03e7fb9
[NFCI] Fix set-but-unused warning in X86LoadValueInjectionLoadHardeni…
davidbolvansky Mar 24, 2022
9a738c4
[NFCI] Fix set-but-unused warning in RISCVAsmParser.cpp
davidbolvansky Mar 24, 2022
4397504
[NFCI] Fix set-but-unused warning in InstCombineAddSub.cpp
davidbolvansky Mar 24, 2022
431c142
[NFCI] Fix set-but-unused warning in SPIRVUtilsGen.cpp
davidbolvansky Mar 24, 2022
88d5289
[flang][OpenMP] Added lowering support for sections construct
NimishMishra Mar 24, 2022
ca46521
[flang] UBOUND() edge case: empty dimension
jeanPerier Mar 24, 2022
67d9276
[clang-cl] Ignore /Wv and /Wv:17 flags
tru Mar 23, 2022
6ce82ea
[NFC][flang] Remove unused code in lowerExplicitLowerBounds
PeixinQiao Mar 24, 2022
54bc9ad
[AArch64] Make some methods static. NFC
davemgreen Mar 24, 2022
51d9aaf
Update my office hours
kbeyls Mar 24, 2022
1104d79
Revert "[ELF] Enable new passmanager plugin support for LTO"
Teemperor Mar 24, 2022
d00e840
[Clang] Add option to set alternative toolchain path
ecnelises Mar 24, 2022
be5c3ca
Revert "[clang-format] Correctly recognize arrays in template paramet…
krasimirgg Mar 24, 2022
f854434
[NVPTX] Enhance vectorization of ld.param & st.param
kovdan01 Mar 24, 2022
3642baf
[NFCI] Fix set-but-unused warning in X86DisassemblerTables.cpp
davidbolvansky Mar 24, 2022
a034878
Revert "[NVPTX] Enhance vectorization of ld.param & st.param"
kovdan01 Mar 24, 2022
2af845a
Relands "[Clang] -Wunused-but-set-variable warning - handle also pre/…
davidbolvansky Mar 24, 2022
828b63c
[NVPTX] Enhance vectorization of ld.param & st.param
kovdan01 Mar 24, 2022
c53cbce
[CodeGen] Define ABI breaking class members correctly
kovdan01 Mar 24, 2022
38d248a
[bazel] Set the default of LLVM_UNREACHABLE_OPTIMIZE to 1
d0k Mar 24, 2022
9ed466e
[bazel] glob LLVMCoroutines headers to make the build rule less fragile
d0k Mar 24, 2022
ec93b28
[AArch64] Lower 3 and 4 sources buildvectors to TBL
davemgreen Mar 24, 2022
53f7fb0
[mlir][linalg] Do not fuse shape-only producers.
Mar 24, 2022
6872c8b
[NFC] Mark derived destructors as `override`
antoniofrighetto Mar 24, 2022
b1b57f8
[mlir][linalg] Support padding LinalgOps in use-def chain.
Mar 24, 2022
c343651
[X86][NFC] Remove unused variable introduce by D121785
KanRobert Mar 24, 2022
c2b3a9a
[Docs] Update opaque pointers transition state (NFC)
nikic Mar 24, 2022
00fb050
[lldb] Remove unused Module argument (NFC)
nikic Mar 24, 2022
b3fbbab
[lldb] Use byval type
nikic Mar 24, 2022
406bde9
[PowerPC] [Clang] Add SSE4 and BMI intrinsics implementation
ecnelises Mar 24, 2022
840bb72
[lldb] Avoid pointer element type accesses
nikic Mar 24, 2022
621cc83
[gn build] Port 406bde9a1513
llvmgnsyncbot Mar 24, 2022
9b79187
[trace][intelpt] Server side changes for TSC to wall time conversion
jj10306 Mar 22, 2022
98885c4
[compiler-rt] [cmake] Fix a typo in a variable name
mstorsjo Mar 24, 2022
4d20781
Typo fix in the documentation; NFC
AaronBallman Mar 24, 2022
de867c6
[clang] Reformat
urnathan Mar 23, 2022
20973c0
[SLP][NFC]Fix param name in comments, NFC.
alexey-bataev Mar 24, 2022
028f9f5
[gn build] remove a "from __future__" import not needed after 0ff3cc2…
nico Mar 24, 2022
895e5b2
[NFC] Format and uglify PowerPC intrinsics headers
ecnelises Mar 24, 2022
f383b88
[pseudo] Sort nonterminals based on their reduction order.
hokein Mar 23, 2022
9dbc687
NFC: [LICM] Update some stale comments
Mar 23, 2022
62d5f25
[pseudo] Introduce parse forest.
hokein Mar 21, 2022
ced9bbe
[gn build] Port 62d5f254ccd0
llvmgnsyncbot Mar 24, 2022
677d0e7
[OpenCL] opencl-c.h: remove x/y/z arg names
svenvh Mar 24, 2022
5c458f3
[libc++][NFC] Update ABI changelog to account for new assertion handler
ldionne Mar 24, 2022
30b4421
[flang][NFC] Add lowering test for array expression
clementval Mar 24, 2022
12d22ce
[flang][OpenACC] Lower enter data directive
clementval Mar 24, 2022
67defe5
[flang][OpenACC] Lower exit data directive
clementval Mar 24, 2022
39157b9
[flang][OpenACC] Lower init/shutdown directive
clementval Mar 24, 2022
c6a9ce2
[flang][OpenACC] Lower update directive
clementval Mar 24, 2022
50f4f32
[clangd] Retain main file fixes attached to diags from preamble
kadircet Mar 23, 2022
fea3ca5
[libc++][NFC] Refactor the ABI changelog
ldionne Mar 24, 2022
5dbb53b
[InstCombine] merge shuffled vector negate and multiply
rotateright Mar 24, 2022
5ee88e0
[flang[OpenACC] Lower data directive
clementval Mar 24, 2022
488c772
Fix a crash with variably-modified parameter types in a naked function
AaronBallman Mar 24, 2022
46432a0
[VPlan] Add VPWidenPointerInductionRecipe.
fhahn Mar 24, 2022
0c86198
Reland "[ELF] Enable new passmanager plugin support for LTO"
Jakob-Koschel Mar 24, 2022
5b164a3
Diagnose use of a naked attribute on a member function in ms-mode
AaronBallman Mar 24, 2022
bef928f
[llvm] Initialize and move UseUpRegs outside of `union` MemOp struct.
pifon2a Mar 24, 2022
67eb2f1
[SelectionDAG] Add AssertAlign to AddNodeIDCustom so that it will CSE…
topperc Mar 24, 2022
44b0ea4
[flang[OpenACC] Lower wait directive
clementval Mar 24, 2022
50a97aa
[AArch64] Async unwind - function prologues
momchil-velikov Mar 24, 2022
f82ec55
[OpenMP] Initial parsing/sema for the 'omp target parallel loop' cons…
mikerice1969 Mar 23, 2022
1d4d2cc
[TSan] Add a runtime flag to print full thread creation stacks up to …
dvyukov Mar 24, 2022
caf6af2
[polly] Remove last instances of -analyze
aeubanks Mar 22, 2022
aca9648
[LLDB] Cleanup for Fixing DWARFExpression handling of ValueType::File…
shafik Mar 24, 2022
c87c891
[libc++] Audit all uses of _LIBCPP_ASSERT and _LIBCPP_DEBUG_ASSERT
ldionne Mar 24, 2022
6d8ce42
[libc][obvious] only test FILE on working platforms
michaelrj-google Mar 24, 2022
dc58c3b
[X86] Add additional 'add/sub single bit' patterns
RKSimon Mar 24, 2022
8722c12
[mlir][OpenMP][IRBuilder] Add support for nowait on single construct
shraiysh Mar 24, 2022
9aa7019
[Support] Introduce the BLAKE3 hashing function implementation
akyrtzi Mar 12, 2022
7f05aa2
[Support/BLAKE3] LLVM-specific changes over the original BLAKE3 C imp…
akyrtzi Mar 24, 2022
597aefa
Fix unused variable warning by embedding inside assertion
RKSimon Mar 24, 2022
0ee06c3
[clang][extract-api] Stop allocating APIRecords via BumpPtrAllocator
daniel-grumberg Mar 23, 2022
a7ea304
[gn build] Manually port 0c86198b2
aeubanks Mar 24, 2022
33b214b
[X86] combineSub - fold SUB(X,ADC(Y,0,W)) -> SBB(X,Y,W)
RKSimon Mar 24, 2022
6bb836a
Revert "[clang][deps] NFC: De-duplicate clang-cl tests"
gulfemsavrun Mar 24, 2022
418ecab
[Support/BLAKE3] Temporarily disable building the assembly files to g…
akyrtzi Mar 24, 2022
d3e5b6f
[ELF] Implement --build-id={md5,sha1} with truncated BLAKE3
MaskRay Mar 24, 2022
a9b70a8
[Support/BLAKE3] Temporarily disable building neon file to get builde…
akyrtzi Mar 24, 2022
65d4354
[InstCombine] add more tests for nsw propagation; NFC
rotateright Mar 24, 2022
7aea3ea
[Intrinsics] Add `nocallback` to the default intrinsic attributes
jdoerfert Feb 1, 2022
0bfa1ab
[gn build] (manually) port 9aa701984d39 (BLAKE3)
nico Mar 24, 2022
7b498be
DebugInfo: Classify noreturn function types as non-reconstructible
dwblaikie Mar 24, 2022
973acc3
[gn build] ugly hack to work around sync script for now
nico Mar 24, 2022
c5f7890
Revert "[Intrinsics] Add `nocallback` to the default intrinsic attrib…
jdoerfert Mar 24, 2022
8424d4f
[gn build] Manually port llvm/lib/Support/BLAKE3
MaskRay Mar 24, 2022
1e3713f
[gn build] Port
llvmgnsyncbot Mar 24, 2022
27439a7
[AMDGPU] New gfx940 mfma instructions
rampitec Mar 18, 2022
2e44b78
[VectorCombine] Insert addrspacecast when crossing address space boun…
frasercrmck Mar 16, 2022
d414451
[CUDA][HIP] Fix hostness check with -fopenmp
yxsamliu Mar 16, 2022
7faa956
[clang][CodeGen]Fix clang crash and add bitfield support in __builtin…
int6 Mar 24, 2022
8705708
Revert "[gn build] Manually port llvm/lib/Support/BLAKE3"
nico Mar 24, 2022
dd67e69
[ASan] Reland of D116182 to always link asan_static library.
kstoimenov Mar 16, 2022
6e3e14f
[AMDGPU] Support gfx940 smfmac instructions
rampitec Mar 21, 2022
a80bf18
[flang][NFC] Remove unused variable
clementval Mar 24, 2022
cad9de7
[AMDGPU] gfx940 MAI hazard recognizer
rampitec Mar 23, 2022
64838ba
[AMDGPU] Use GenericTable to classify DGEMM
rampitec Mar 23, 2022
a6cdac4
Eliminate extra set of simd variant function attribute.
jyu2-git Mar 23, 2022
66e49d2
Merge from 'sycl' to 'sycl-web'
Mar 24, 2022
cf9c606
[mlir][spirv] Add Apple into the vendor list
antiagainst Mar 24, 2022
df0b893
[opt] Remove -analyze option
aeubanks Feb 10, 2022
e5a7d27
[NFC][clang][extract-api] Add missing virtual anchors
zixu-w Mar 24, 2022
b9d87d7
[libc] Improve the performance of exp2f.
lntue Mar 23, 2022
826e661
[NFC][clang][extract-api] Rename variable
zixu-w Mar 24, 2022
df209b8
[flang] Make not yet implemented messages more consistent
psteinfeld Mar 23, 2022
8e9c7f7
[Bazel] Add BLAKE3 files to llvm:Support
MaskRay Mar 24, 2022
9951578
Don't search for sim SDK path until we know we need it
jasonmolenda Mar 24, 2022
33d2a78
[mlir][linalg] Add pattern to split reduction dimension in a linalg op
ThomasRaoux Mar 24, 2022
bfda793
[OpenMP] Add a semantic check for updating hidden or internal values
jhuber6 Mar 24, 2022
fed96f3
Re-commit: Driver: Don't warn on -mbranch-protection when linking
tstellar Mar 23, 2022
3c6bd17
[libc++] Rename __identity to __type_identity
philnik777 Mar 18, 2022
fcbe64d
[MLIR][Presburger] Merge PresburgerLocalSpace and PresburgerSpace
Groverkss Mar 24, 2022
ce21c92
[Clang] Work with multiple pragmas weak before definition
hubert-reinterpretcast Mar 25, 2022
350d43f
Fix a bug where an extended vector of __fp16 was being converted to a
ahatanaka Mar 25, 2022
c4eae8a
Make BLAKE3 a component library
nico Mar 24, 2022
b62ea9b
[AVR] Add more devices
benshi001 Mar 24, 2022
b05e194
Merge from 'main' to 'sycl-web' (256 commits)
Mar 25, 2022
d77f483
[mlir][gpu] Relax restriction on mma load/store op
ThomasRaoux Mar 25, 2022
940bd4c
[ELF] addSectionSymbols: simplify isec->getOutputSection(). NFC
MaskRay Mar 25, 2022
56a5491
[clang] Propagate requires-clause from constructor template to implic…
HighCommander4 Nov 14, 2021
5035455
[flang] Lower mvbits intrinsic
clementval Mar 25, 2022
7511213
[llvm-pdbutil] Move InputFile/FormatUtil/LinePrinter to PDB library.
CarlosAlbertoEnciso Mar 24, 2022
382797d
[gn build] Port 75112133b83e
llvmgnsyncbot Mar 25, 2022
3929f91
Release Workflow: Remove cherry-pick-failed label when pull request i…
tstellar Mar 25, 2022
7f1adba
[flang] Fix LBOUND rewrite on descriptor components
jeanPerier Mar 25, 2022
d3bc3a0
[flang][codegen] ensure descriptor lower bounds are LBOUND compliant
jeanPerier Mar 25, 2022
6daa206
[flang][NFC] fix comment typo in SetLowerBound description
jeanPerier Mar 25, 2022
c48b464
[BPF] Don't fetch alignment of llvm.preserve.union.access.index argument
nikic Mar 24, 2022
6c0e60e
[C++20][Modules][HU 1/5] Introduce header units as a module type.
iains Sep 20, 2020
5bf86d9
[NVPTX] Remove code duplication in LowerCall
kovdan01 Mar 25, 2022
520c8ca
[Clang] Added release note for improved -Wunused-but-set-variable war…
davidbolvansky Mar 25, 2022
a2c0c4a
[PowerPC] Add test for failing lowering llvm.ppc.cfence on i128. NFC.
Mar 25, 2022
311a00c
[clang-format] Clean up DefinitionBlockSeparatorTest. NFC.
mkurdej Mar 25, 2022
3d8d60e
Revert "[AArch64] Lower 3 and 4 sources buildvectors to TBL"
davemgreen Mar 25, 2022
19de2a5
[X86] Add test showing failure to fold add(adc(x,0,carry),c) -> adc(x…
RKSimon Mar 25, 2022
ce2b36e
[clang] CheckSizelessVectorOperands - use castAs<> instead of getAs<>…
RKSimon Mar 25, 2022
ae95f29
[AsmPrinter] AIXException::endFunction - use cast<> instead of dyn_ca…
RKSimon Mar 25, 2022
1a94392
[Utils] stripDebugifyMetadata - use cast<> instead of dyn_cast_or_nul…
RKSimon Mar 25, 2022
e699b5d
[AArch64] isProfitableToHoist - remove nullptr test
RKSimon Mar 25, 2022
718aec2
[AMDGPU] Improve v_cmpx usage on GFX10.3.
tsymalla-AMD Feb 1, 2022
a75a46d
[mlir][Vector] Enable create_mask for scalable vectors
jsetoain Jan 26, 2022
3db858c
[X86] combineAdd - fold ADD(ADC(Y,0,W),X) -> ADC(X,Y,W)
RKSimon Mar 25, 2022
7783a17
[mlir][Sparse] Add option for VLA sparsification
jsetoain Dec 2, 2021
12bd1ef
[bazel] Add missing dependency after a75a46db89
d0k Mar 25, 2022
8639bc1
[bazel] Add missing dependency after a75a46db89
d0k Mar 25, 2022
e209190
[SDAG] enable binop identity constant folds for multiplies
RKSimon Mar 25, 2022
635dde8
Fix clang Sphinx build bot
AaronBallman Mar 25, 2022
b0225ab
Prevent comparison with wider type in loop condition
aakanksha555 Mar 25, 2022
5177676
Updated MLIR type stubs to work with pytype
superbobry Mar 25, 2022
f900f70
[libc++] Remove the _LIBCPP_BOOL_CONSTANT macro
ldionne Mar 23, 2022
43a969d
[X86] combineADC - pull out repeated dyn_cast<ConstantSDNode> calls. …
RKSimon Mar 25, 2022
ead294b
[NFC][SimplifyCFG] Add test from https://github.com/llvm/llvm-project…
LebedevRI Mar 25, 2022
f6b60b3
[SimplifyCFG] `FoldBranchToCommonDest()`: allow branch-on-select
LebedevRI Mar 25, 2022
72864d9
[pseudo] Use box-drawing chars to prettify debug dumps. NFC
sam-mccall Mar 25, 2022
ccb54d5
[mlir][Vector] Add integration tests for ArmSVE
jsetoain Jun 3, 2021
f84b5c1
[X86] Add test showing failure to fold multiple constant args in ADC
RKSimon Mar 25, 2022
be9acee
[AMDGPU] Move VOP3 classes into VOPInstructions.td. NFC.
jayfoad Mar 25, 2022
7babc8e
[Flang] Lower achar intrinsic
kiranchandramohan Mar 25, 2022
a81fff8
Reapply "[Intrinsics] Add `nocallback` to the default intrinsic attri…
jdoerfert Mar 24, 2022
7e45912
[clang] Do not crash on arrow operator on dependent type.
gislan Mar 16, 2022
cf396c5
[C++20][Modules] Correct an assert for modules-ts.
iains Mar 24, 2022
5975f1c
[AMDGPU][DOC][NFC] Added GFX1030 assembler syntax description
dpreobra Mar 25, 2022
b9f67d4
[OpenMP] Replace device kernel linkage with weak_odr
jhuber6 Mar 24, 2022
6a094a6
[InstCombine] SimplifyDemandedUseBits - remove ashr node if we only d…
RKSimon Mar 25, 2022
39b80c8
[clang-tidy] Add modernize-macro-to-enum check
LegalizeAdulthood Jan 3, 2022
a121458
[test,slp] Add another stacksave related dependence test
preames Mar 25, 2022
bb48c3a
[gn build] Port 39b80c8380c8
llvmgnsyncbot Mar 25, 2022
49b0b5f
[AVR][NFC] Fix incorrect register states in expanding pseudo instruct…
benshi001 Jan 27, 2022
d9756fa
[slp] Factor out a lambda to avoid uplicating code a third time in up…
preames Mar 25, 2022
7a316c0
[CSSPGO] Turn on profi and ext-tsp when using probe-based profile.
htyu Mar 24, 2022
d6c6eb3
[NFCI] Fix set-but-unused warning in AArch64AsmParser.cpp
davidbolvansky Mar 25, 2022
39d348c
[NFCI] Fix set-but-unused warning in DenseMap.h in some configurations
davidbolvansky Mar 25, 2022
6168b42
[libc] Improve the performance of expf.
lntue Mar 24, 2022
61efe14
[lldb] Add a fuzzer for target creation
JDevlieghere Mar 25, 2022
4e34f06
[OpenMP][FIX] Ensure exclusive access to the HDTT map
jdoerfert Mar 5, 2022
a184a0d
[clang][dataflow] Add support for disabling warnings on smart pointers.
ymand Mar 21, 2022
174cabe
[flang] Fix cycle-catcher in procedure characterization
klausler Mar 21, 2022
5161835
[mlir][tosa] : adding folder and canonicalizer for select
lipracer Mar 25, 2022
8f7db76
[lldb] Conditionalize target_link_libraries on the target
JDevlieghere Mar 25, 2022
e47d220
[LV] Use getVectorLoopRegion to retrieve header. (NFC)
fhahn Mar 25, 2022
b867f5c
[Support/BLAKE3] Do manual instrumentation of `llvm_blake3_hasher_fin…
akyrtzi Mar 25, 2022
c7f91e2
[InstrProfiling] No runtime hook for unused funcs
gulfemsavrun Mar 23, 2022
a16308c
[SLP] Explicit track required stacksave/alloca dependency (try 3)
preames Mar 25, 2022
ec858f0
[SLP] Optimize stacksave dependence handling [NFC]
preames Mar 25, 2022
5bc9ee1
[flang][lowering] Handle zero extent case in LBOUND
jeanPerier Mar 25, 2022
3be7c28
[mlir][NVVM] Add support for nvvm mma.sync ops
christopherbate Mar 25, 2022
48cc928
Reapply "[SLP] Schedule only sub-graph of vectorizable instructions""…
preames Mar 18, 2022
b97f260
Reland "[ASTMatchers] Output currently processing match and nodes on …
njames93 Mar 25, 2022
35b89bc
[clang][driver] Disable non-functional --version option for clang -cc1
ekieri Mar 25, 2022
8530259
[ConstraintElimination] Add test where offset additions overflow.
fhahn Mar 25, 2022
8c3281d
[ConstraintElimination] Use AddOverflow for offset summation.
fhahn Mar 25, 2022
171cdba
[Clang,TBAA] Use pattern for metadata reference in test.
fhahn Mar 25, 2022
3784e8c
[Clang] Fix Unevaluated Lambdas
cor3ntin Mar 12, 2022
0363a16
[flang] Fix bogus error from assignment to CLASS(*)
klausler Mar 23, 2022
26e201b
[Clang] Fix error in Documentation introduced by 3784e8cc [nfc].
cor3ntin Mar 25, 2022
cef5210
Revert "[clang-tidy] Add modernize-macro-to-enum check"
dyung Mar 25, 2022
a78bd83
[gn build] Port cef52105bd4b
llvmgnsyncbot Mar 25, 2022
f80aaa6
[SLP] Simplify eraseInstruction [NFC]
preames Mar 25, 2022
dda003a
[mlir] Add InferTensorType without supporting reifyReturnTypeShapes
ChiaHungDuan Mar 25, 2022
57ee624
[cmake] Provide CURRENT_TOOLS_DIR centrally, replacing CLANG_TOOLS_DIR
sam-mccall Mar 16, 2022
9a3eeae
[clang-tidy] Fix the condition for building CTTestTidyModule
mstorsjo Mar 25, 2022
1f98e09
Add missing include diagnosed in modules build. (NFC)
adrian-prantl Mar 25, 2022
0e1e3cc
[bazel] add missing targets since 3be7c28917
cota Mar 25, 2022
e25f4e4
[PseudoProbe] Do not emit pseudo probes when module is not probed.
htyu Mar 24, 2022
2ab9990
[flang] Add & use a better visit()
klausler Mar 23, 2022
6aa0397
Remove dead code in driver parsing -gsimple-template-names= options
pogo59 Mar 25, 2022
89525cb
[Clang] Add helper method to determine if a nonvirtual base has an en…
wsmoses Mar 25, 2022
b9fd8f3
[OpenMP][NFC] Add missing virtual destructor to silence warning
jdoerfert Mar 25, 2022
7dfad94
[OpenMP][FIX] Repair ExclusiveAccess move semantic snafu
jdoerfert Mar 25, 2022
bb9bdef
[Clang] Use pattern to match profile metadata in test.
fhahn Mar 25, 2022
6c2be88
Revert "[OpenMP][NFC] Add missing virtual destructor to silence warning"
jdoerfert Mar 25, 2022
afaefb6
[Driver][Linux] Remove D.Dir+"/../lib" from default search paths for …
MaskRay Mar 25, 2022
12301d6
[lldb/crashlog] Parse thread fields and pass it to crashlog scripted …
medismailben Mar 25, 2022
29f3636
[lldb/Utility] Make StructuredData::Dictionary::GetKeys return an Array
medismailben Mar 24, 2022
150db43
[lldb/Plugin] Sort the ScriptedProcess' thread list before creating t…
medismailben Mar 25, 2022
5c116d5
[flang] Mark C_ASSOCIATED specific procedures as PURE
klausler Mar 21, 2022
41e69fb
[pseudo] Add missing header guard for Forest.h
hokein Mar 25, 2022
16eaa52
[pseudo] Fix the wrong rule ids in ForestTest.
hokein Mar 25, 2022
a5032b2
DebugInfo: Don't allow type units to references types in the CU
dwblaikie Mar 25, 2022
34b9b1e
Disable -Wmissing-prototypes for internal linkage functions that aren…
dwblaikie Mar 9, 2022
ead8586
[InstrProfiling] Add comments for no runtime hook
gulfemsavrun Mar 26, 2022
3427edd
Adopt new dyld SPIs to introspect the shared cache.
fredriss Feb 1, 2021
5576579
Update affine.load folding hook to fold global splat constant loads
bondhugula Mar 23, 2022
435641b
[flang] Catch bad OPEN(STATUS=) cases
klausler Mar 24, 2022
4ae9745
[Disassember][NFCI] Use strong type for instruction decoder
maksfb Mar 21, 2022
e13faa4
[X86][tablgen] Add interface getMnemonic to namespace X86Disassembler…
KanRobert Mar 25, 2022
3c6d32e
[OpenMP] Make Ctor / Dtor functions have external visibility
jhuber6 Mar 25, 2022
9d3550c
[OpenMP] Add AMDGPU calling convention to ctor / dtor functions
jhuber6 Mar 25, 2022
545fcc3
[OpenMP][CUDA] Fix potential program crash caused by double free reso…
shiltian Mar 26, 2022
392bb8c
[OpenMP] Fix AMDGPU globals test
jhuber6 Mar 26, 2022
bf11ed2
[X86][tablgen] Add class RecognizableInstrBase to simplify X86 code, …
KanRobert Mar 26, 2022
88436af
[LoongArch] Fix several Clang warnings. NFC
MaskRay Mar 26, 2022
bce2e20
[AVR] Optimize int16 airthmetic right shift for shift amount 7/14/15
benshi001 Mar 26, 2022
da62a5c
[Driver][test] Clean up riscv* tests
MaskRay Mar 26, 2022
c37accf
[Option] Avoid using the default argument for the 3-argument hasFlag.…
MaskRay Mar 26, 2022
522712e
[Option] Remove the error-prone default argument true from 3-argument…
MaskRay Mar 26, 2022
236783e
Merge from 'sycl' to 'sycl-web'
Mar 26, 2022
3577855
Merge from 'main' to 'sycl-web' (143 commits)
smanna12 Mar 26, 2022
5fe1d88
Merge from 'main' to 'sycl-web' (1 commits)
smanna12 Mar 27, 2022
e17be2e
[SYCL] Align driver with the afaefb6 Remove D.Dir+"/../lib" from defa…
mdtoguchi Mar 28, 2022
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
  •  
  •  
  •  
34 changes: 23 additions & 11 deletions bolt/lib/Passes/LongJmp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -322,14 +322,20 @@ uint64_t LongJmpPass::tentativeLayoutRelocMode(
uint32_t CurrentIndex = 0;
if (opts::HotFunctionsAtEnd) {
for (BinaryFunction *BF : SortedFunctions) {
if (BF->hasValidIndex() && LastHotIndex == -1u)
if (BF->hasValidIndex()) {
LastHotIndex = CurrentIndex;
break;
}

++CurrentIndex;
}
} else {
for (BinaryFunction *BF : SortedFunctions) {
if (!BF->hasValidIndex() && LastHotIndex == -1u)
if (!BF->hasValidIndex()) {
LastHotIndex = CurrentIndex;
break;
}

++CurrentIndex;
}
}
Expand Down Expand Up @@ -386,17 +392,23 @@ void LongJmpPass::tentativeLayout(
}

// Relocation mode
uint64_t EstimatedTextSize = tentativeLayoutRelocMode(BC, SortedFunctions, 0);
uint64_t EstimatedTextSize = 0;
if (opts::UseOldText) {
EstimatedTextSize = tentativeLayoutRelocMode(BC, SortedFunctions, 0);

// Initial padding
if (EstimatedTextSize <= BC.OldTextSectionSize) {
DotAddress = BC.OldTextSectionAddress;
uint64_t Pad =
offsetToAlignment(DotAddress, llvm::Align(opts::AlignText));
if (Pad + EstimatedTextSize <= BC.OldTextSectionSize) {
DotAddress += Pad;
}
}
}

// Initial padding
if (opts::UseOldText && EstimatedTextSize <= BC.OldTextSectionSize) {
DotAddress = BC.OldTextSectionAddress;
uint64_t Pad = offsetToAlignment(DotAddress, llvm::Align(opts::AlignText));
if (Pad + EstimatedTextSize <= BC.OldTextSectionSize)
DotAddress += Pad;
} else {
if (!EstimatedTextSize || EstimatedTextSize > BC.OldTextSectionSize)
DotAddress = alignTo(BC.LayoutStartAddress, opts::AlignText);
}

tentativeLayoutRelocMode(BC, SortedFunctions, DotAddress);
}
Expand Down
13 changes: 9 additions & 4 deletions bolt/lib/Passes/LoopInversionPass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,16 @@ bool LoopInversionPass::runOnFunction(BinaryFunction &BF) {
}
}

assert(SecondSucc != nullptr && "Unable to find second BB successor");
const uint64_t BBCount = SuccBB->getBranchInfo(*BB).Count;
const uint64_t OtherCount = SuccBB->getBranchInfo(*SecondSucc).Count;
if ((BBCount < OtherCount) && (BBIndex > SuccBBIndex))
assert(SecondSucc != nullptr && "Unable to find a second BB successor");
const uint64_t LoopCount = SuccBB->getBranchInfo(*BB).Count;
const uint64_t ExitCount = SuccBB->getBranchInfo(*SecondSucc).Count;

if (LoopCount < ExitCount) {
if (BBIndex > SuccBBIndex)
continue;
} else if (BBIndex < SuccBBIndex) {
continue;
}

IsChanged = true;
BB->setLayoutIndex(SuccBBIndex);
Expand Down
234 changes: 6 additions & 228 deletions bolt/lib/Target/X86/X86MCPlusBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,219 +64,6 @@ unsigned getShortArithOpcode(unsigned Opcode) {
return X86::getShortOpcodeArith(Opcode);
}

bool isADD(unsigned Opcode) {
switch (Opcode) {
default:
return false;
case X86::ADD16i16:
case X86::ADD16mi:
case X86::ADD16mi8:
case X86::ADD16mr:
case X86::ADD16ri:
case X86::ADD16ri8:
case X86::ADD16ri8_DB:
case X86::ADD16ri_DB:
case X86::ADD16rm:
case X86::ADD16rr:
case X86::ADD16rr_DB:
case X86::ADD16rr_REV:
case X86::ADD32i32:
case X86::ADD32mi:
case X86::ADD32mi8:
case X86::ADD32mr:
case X86::ADD32ri:
case X86::ADD32ri8:
case X86::ADD32ri8_DB:
case X86::ADD32ri_DB:
case X86::ADD32rm:
case X86::ADD32rr:
case X86::ADD32rr_DB:
case X86::ADD32rr_REV:
case X86::ADD64i32:
case X86::ADD64mi32:
case X86::ADD64mi8:
case X86::ADD64mr:
case X86::ADD64ri32:
case X86::ADD64ri32_DB:
case X86::ADD64ri8:
case X86::ADD64ri8_DB:
case X86::ADD64rm:
case X86::ADD64rr:
case X86::ADD64rr_DB:
case X86::ADD64rr_REV:
case X86::ADD8i8:
case X86::ADD8mi:
case X86::ADD8mi8:
case X86::ADD8mr:
case X86::ADD8ri:
case X86::ADD8ri8:
case X86::ADD8rm:
case X86::ADD8rr:
case X86::ADD8rr_REV:
return true;
}
}

bool isAND(unsigned Opcode) {
switch (Opcode) {
default:
return false;
case X86::AND16i16:
case X86::AND16mi:
case X86::AND16mi8:
case X86::AND16mr:
case X86::AND16ri:
case X86::AND16ri8:
case X86::AND16rm:
case X86::AND16rr:
case X86::AND16rr_REV:
case X86::AND32i32:
case X86::AND32mi:
case X86::AND32mi8:
case X86::AND32mr:
case X86::AND32ri:
case X86::AND32ri8:
case X86::AND32rm:
case X86::AND32rr:
case X86::AND32rr_REV:
case X86::AND64i32:
case X86::AND64mi32:
case X86::AND64mi8:
case X86::AND64mr:
case X86::AND64ri32:
case X86::AND64ri8:
case X86::AND64rm:
case X86::AND64rr:
case X86::AND64rr_REV:
case X86::AND8i8:
case X86::AND8mi:
case X86::AND8mi8:
case X86::AND8mr:
case X86::AND8ri:
case X86::AND8ri8:
case X86::AND8rm:
case X86::AND8rr:
case X86::AND8rr_REV:
return true;
}
}

bool isCMP(unsigned Opcode) {
switch (Opcode) {
default:
return false;
case X86::CMP16i16:
case X86::CMP16mi:
case X86::CMP16mi8:
case X86::CMP16mr:
case X86::CMP16ri:
case X86::CMP16ri8:
case X86::CMP16rm:
case X86::CMP16rr:
case X86::CMP16rr_REV:
case X86::CMP32i32:
case X86::CMP32mi:
case X86::CMP32mi8:
case X86::CMP32mr:
case X86::CMP32ri:
case X86::CMP32ri8:
case X86::CMP32rm:
case X86::CMP32rr:
case X86::CMP32rr_REV:
case X86::CMP64i32:
case X86::CMP64mi32:
case X86::CMP64mi8:
case X86::CMP64mr:
case X86::CMP64ri32:
case X86::CMP64ri8:
case X86::CMP64rm:
case X86::CMP64rr:
case X86::CMP64rr_REV:
case X86::CMP8i8:
case X86::CMP8mi:
case X86::CMP8mi8:
case X86::CMP8mr:
case X86::CMP8ri:
case X86::CMP8ri8:
case X86::CMP8rm:
case X86::CMP8rr:
case X86::CMP8rr_REV:
return true;
}
}

bool isSUB(unsigned Opcode) {
switch (Opcode) {
default:
return false;
case X86::SUB16i16:
case X86::SUB16mi:
case X86::SUB16mi8:
case X86::SUB16mr:
case X86::SUB16ri:
case X86::SUB16ri8:
case X86::SUB16rm:
case X86::SUB16rr:
case X86::SUB16rr_REV:
case X86::SUB32i32:
case X86::SUB32mi:
case X86::SUB32mi8:
case X86::SUB32mr:
case X86::SUB32ri:
case X86::SUB32ri8:
case X86::SUB32rm:
case X86::SUB32rr:
case X86::SUB32rr_REV:
case X86::SUB64i32:
case X86::SUB64mi32:
case X86::SUB64mi8:
case X86::SUB64mr:
case X86::SUB64ri32:
case X86::SUB64ri8:
case X86::SUB64rm:
case X86::SUB64rr:
case X86::SUB64rr_REV:
case X86::SUB8i8:
case X86::SUB8mi:
case X86::SUB8mi8:
case X86::SUB8mr:
case X86::SUB8ri:
case X86::SUB8ri8:
case X86::SUB8rm:
case X86::SUB8rr:
case X86::SUB8rr_REV:
return true;
}
}

bool isTEST(unsigned Opcode) {
switch (Opcode) {
default:
return false;
case X86::TEST16i16:
case X86::TEST16mi:
case X86::TEST16mr:
case X86::TEST16ri:
case X86::TEST16rr:
case X86::TEST32i32:
case X86::TEST32mi:
case X86::TEST32mr:
case X86::TEST32ri:
case X86::TEST32rr:
case X86::TEST64i32:
case X86::TEST64mi32:
case X86::TEST64mr:
case X86::TEST64ri32:
case X86::TEST64rr:
case X86::TEST8i8:
case X86::TEST8mi:
case X86::TEST8mr:
case X86::TEST8ri:
case X86::TEST8rr:
return true;
}
}

bool isMOVSX64rm32(const MCInst &Inst) {
return Inst.getOpcode() == X86::MOVSX64rm32;
}
Expand All @@ -296,17 +83,7 @@ class X86MCPlusBuilder : public MCPlusBuilder {
}

bool isNoop(const MCInst &Inst) const override {
switch (Inst.getOpcode()) {
case X86::NOOP:
case X86::NOOPL:
case X86::NOOPLr:
case X86::NOOPQ:
case X86::NOOPQr:
case X86::NOOPW:
case X86::NOOPWr:
return true;
}
return false;
return X86::isNOP(Inst.getOpcode());
}

unsigned getCondCode(const MCInst &Inst) const override {
Expand Down Expand Up @@ -546,7 +323,7 @@ class X86MCPlusBuilder : public MCPlusBuilder {
}

bool isSUB(const MCInst &Inst) const override {
return ::isSUB(Inst.getOpcode());
return X86::isSUB(Inst.getOpcode());
}

bool isADDri(const MCInst &Inst) const {
Expand Down Expand Up @@ -3074,10 +2851,11 @@ class X86MCPlusBuilder : public MCPlusBuilder {

// Get the HasLHS value so that iteration can be done
bool HasLHS;
if (isAND(Inst.getOpcode()) || isADD(Inst.getOpcode()) || isSUB(Inst)) {
if (X86::isAND(Inst.getOpcode()) || X86::isADD(Inst.getOpcode()) ||
X86::isSUB(Inst.getOpcode())) {
HasLHS = true;
} else if (isPop(Inst) || isPush(Inst) || isCMP(Inst.getOpcode()) ||
isTEST(Inst.getOpcode())) {
} else if (isPop(Inst) || isPush(Inst) || X86::isCMP(Inst.getOpcode()) ||
X86::isTEST(Inst.getOpcode())) {
HasLHS = false;
} else {
switch (Inst.getOpcode()) {
Expand Down
13 changes: 11 additions & 2 deletions bolt/test/X86/loop-inversion-pass.s
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,33 @@
# RUN: %s -o %t.o
# RUN: link_fdata %s %t.o %t.fdata
# RUN: link_fdata %s %t.o %t.fdata2 "FDATA2"
# RUN: link_fdata %s %t.o %t.fdata3 "FDATA3"
# RUN: %clang %cflags %t.o -o %t.exe -Wl,-q
# RUN: llvm-bolt %t.exe -data %t.fdata -reorder-blocks=cache+ -print-finalized \
# RUN: -loop-inversion-opt -o %t.out | FileCheck %s
# RUN: llvm-bolt %t.exe -data %t.fdata2 -reorder-blocks=cache+ -print-finalized \
# RUN: -loop-inversion-opt -o %t.out2 | FileCheck --check-prefix="CHECK2" %s
# RUN: llvm-bolt %t.exe -data %t.fdata3 -reorder-blocks=none -print-finalized \
# RUN: -loop-inversion-opt -o %t.out3 | FileCheck --check-prefix="CHECK3" %s

# The case where loop is used:
# The case where the loop is used:
# FDATA: 1 main 2 1 main #.J1# 0 420
# FDATA: 1 main b 1 main #.Jloop# 0 420
# FDATA: 1 main b 1 main d 0 1
# CHECK: BB Layout : .LBB00, .Ltmp0, .Ltmp1, .LFT0

# The case where loop is unused:
# The case where the loop is unused:
# FDATA2: 1 main 2 1 main #.J1# 0 420
# FDATA2: 1 main b 1 main #.Jloop# 0 1
# FDATA2: 1 main b 1 main d 0 420
# CHECK2: BB Layout : .LBB00, .Ltmp1, .LFT0, .Ltmp0

# The case where the loop does not require rotation:
# FDATA3: 1 main 2 1 main #.J1# 0 420
# FDATA3: 1 main b 1 main #.Jloop# 0 420
# FDATA3: 1 main b 1 main d 0 1
# CHECK3: BB Layout : .LBB00, .Ltmp0, .Ltmp1, .LFT0

.text
.globl main
.type main, %function
Expand Down
4 changes: 2 additions & 2 deletions clang-tools-extra/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ This repository is only intended to be checked out inside of a full LLVM+Clang
tree, and in the 'tools/extra' subdirectory of the Clang checkout.

All discussion regarding Clang, Clang-based tools, and code in this repository
should be held using the standard Clang mailing lists:
http://lists.llvm.org/mailman/listinfo/cfe-dev
should be held using the standard Clang forum:
https://discourse.llvm.org/c/clang

Code review for this tree should take place on the standard Clang patch and
commit lists:
Expand Down
2 changes: 1 addition & 1 deletion clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ namespace clang {
namespace tidy {
namespace abseil {

RewriteRule CleanupCtadCheckImpl() {
RewriteRuleWith<std::string> CleanupCtadCheckImpl() {
auto warning_message = cat("prefer absl::Cleanup's class template argument "
"deduction pattern in C++17 and higher");

Expand Down
Loading