Skip to content

CI test #10

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 328 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
328 commits
Select commit Hold shift + click to select a range
af783db
[libc][NFC] Switch sys/*.h tests over to libc_errno.
Mar 13, 2023
93a4553
[lldb] Remove MIPS Linux UnixSignals
bulbazord Mar 14, 2023
148dc8a
[-Wunsafe-buffer-usage] Reducing non-determinism in diagnostics outpu…
ziqingluo-90 Mar 14, 2023
35fd371
llvm-symbolizer: Don't crash when referencing an invalid CU in a dwp …
dwblaikie Mar 14, 2023
67de538
[libc][NFC] Switch unistd.h tests to libc_errno.
Mar 13, 2023
7cc4e98
[flang] Accept non-interoperable LOGICAL scalar dummy arguments
klausler Mar 13, 2023
b9db89f
[ADT][NFCI] Do not use non-const lvalue-refs with enumerate in llvm/
kuhar Mar 14, 2023
76df706
Revert "[LogicCombine 1/?] Implement a general way to simplify logica…
bcl5980 Mar 14, 2023
bb03705
[libc] Switch termios implementations to libc_errno.
Mar 14, 2023
7e6462d
[libc][NFC] Switch nanosleep_test and getcwd_test to libc_errno.
Mar 14, 2023
a81ba80
add testcases for D145353; NFC
Mar 6, 2023
a3b57bc
[PowerPC] remove side effect for some cases for saturate instructions
Mar 7, 2023
5686364
[Docs] Added llvm-mc documentation
aabhinavg1 Mar 13, 2023
a1f8bab
[clang-format] Recognize Verilog always blocks
eywdck2l Mar 10, 2023
55612b8
[libc] Switch sys/stat implementations over to libc_errno.
Mar 14, 2023
547e345
[libc] Make libc_errno point to internal errno for non-public builds.
Mar 13, 2023
df405db
[Driver] Make -X default for baremetal riscv
abrachet Mar 14, 2023
ea471e2
[libc] Update cross-compilation instructions
kaladron Mar 14, 2023
c024fa4
[flang] Use llvm.zext when converting from i1 -> iXX
clementval Mar 14, 2023
537e6e7
[libc] Enable more functions on riscv64.
Mar 14, 2023
3e78fa8
[C++20] [Modules] Profile TemplateName by canonical decl
ChuanqiXu9 Mar 14, 2023
e9a88b6
[clangd] Fix a bug in TweakTest::decorate()
HighCommander4 Feb 21, 2023
6b50bfc
[clang] Store the template param list of an explicit variable templat…
HighCommander4 Jan 27, 2023
c8f9555
[Transforms] Use *{Set,Map}::contains (NFC)
kazutakahirata Mar 14, 2023
11efd1c
[Analysis] Use *{Set,Map}::contains (NFC)
kazutakahirata Mar 14, 2023
ffcd6ca
[bazel][libc] Add errno target to function_deps of tests.
Mar 14, 2023
9b5a934
[IncludeCleaner][NFC] Dont rely on implicit conversion of StringRef
kadircet Mar 14, 2023
af101f9
[IR] Allow !range on vector of integer instructions
nikic Mar 13, 2023
a7bbeba
[Test] Add test showing difference in cost models for guards
xortator Mar 14, 2023
dc3882e
[AMDGPU] Fix .amdhsa_shared_vgpr_count error checking for GFX11
jayfoad Mar 13, 2023
d71b1f7
NFC Fix cost model checks in tests for debug intrinsics
OCHyams Mar 14, 2023
e377520
[mlir] Move tosa.concat lowering from TosaToLinalg to TosaToTensor
Mar 9, 2023
72474af
[LLVM][OHOS] Clang toolchain and targets
kpdev Mar 14, 2023
37bf5c5
[Assignment Tracking] getIntrinsicInstrCost: set dbg.assign cost to zero
OCHyams Mar 14, 2023
77308dd
[Test] Add missing REQUIRES: asserts in test
xortator Mar 14, 2023
6d70812
[SCEV] Clarify ControlsExit comment (NFC)
nikic Mar 14, 2023
ff11d6b
[InstCombine] Regenerate test checks (NFC)
nikic Mar 14, 2023
6604039
[SCEV] Fix finite loop non-strict predicate simplification (PR60944)
nikic Mar 7, 2023
2f3dc5f
[SCEV] Rename ControlsExit -> ControlsOnlyExit (NFC)
nikic Mar 14, 2023
b0ea210
[TTI] Evaluate cost of experimental_widenable_condition as zero
xortator Mar 14, 2023
a1fae98
[AArch64] Add svboolx2_t and svboolx4_t tuple types
MDevereau Mar 7, 2023
0022b58
[DAG/AMDGPU] Use UniformityAnalysis in DAGISel
Pierre-vh Mar 13, 2023
e4ea2d5
[StructurizeCFG] Correctly depend on UniformityAnalysis
Pierre-vh Mar 14, 2023
47021bd
[IndVars] Option verify-indvars is broken (and always has been), dele…
xortator Mar 14, 2023
c113d0b
[NFC] Drop NDEBUG around MSSA verification
xortator Mar 14, 2023
203fad4
[mlir][DialectUtils] Cleanup IndexingUtils and provide more affine va…
nicolasvasilache Mar 13, 2023
c916390
[clang-format] Treat &/&& as reference when followed by requires clause
rymiel Mar 14, 2023
0e79106
Revert "[DAG/AMDGPU] Use UniformityAnalysis in DAGISel"
Pierre-vh Mar 14, 2023
a9d9616
[RISCV][NFC] Share interleave mask checking logic
lukel97 Mar 13, 2023
5b86eae
Reapply [LowerTypeTests] Avoid creation of select constant expression
nikic Mar 3, 2023
0fa20ec
[mlir][Affine] Add helper functions to allow reordering affine.apply …
nicolasvasilache Mar 13, 2023
0246c61
[RISCV][test] Test case for regression when MachineOutliner and Machi…
asb Mar 14, 2023
1cff4cb
[mlir][Transform] NFC - Various API cleanups and use RewriterBase in …
nicolasvasilache Mar 13, 2023
d8c2a10
[X86] Add negative test for D145930
omern1 Mar 13, 2023
2ebbcfa
[X86] Fix encoding for ATOMIC_LOGIC_OP
omern1 Mar 13, 2023
710983a
[Support][MemBuffer] Prevent UB on empty StringRefs
kadircet Feb 24, 2023
aafb52d
[mlir][GPUTransforms] NFC - Refactor GPUTransforms.cpp in preparation…
nicolasvasilache Mar 13, 2023
586e497
[Tooling/Inclusion] Index more sub std namespace symbols.
hokein Mar 14, 2023
49384f1
Cleanup of Complex Deinterleaving pass (NFCI)
NickGuy-Arm Mar 13, 2023
96615c8
[Codegen][ARM][AArch64] Support symmetric operations on complex numbers
NickGuy-Arm Mar 13, 2023
ca431a4
Remove an extra `//` in the IWYU pragma for gtest-matchers.h
hokein Mar 14, 2023
c11c2f5
[clangd] Drop stale macro and mark ranges
kadircet Mar 14, 2023
eb54254
[RISCV] Return false from shouldFormOverflowOp when type is i8 and i16
ChunyuLiao Mar 14, 2023
de401ac
[clang][Sema] Avoid duplicate diagnostics for unreachable fallthrough…
hazohelet Mar 14, 2023
e9a03f3
[RISCV] Reject 'g' with explicit version in parseArchString
asb Mar 14, 2023
7f20e2a
[libc][NFC] Move memcmp implementations in subfolders
gchatelet Mar 14, 2023
fe0573d
[mlir][Bazel] Adjust build after 0fa20ecafe0c3c7ffde413800eb4b1551b43…
akuegel Mar 14, 2023
6603c68
[clang][sema][NFC] Make a few functions const
tbaederr Mar 9, 2023
bd94662
[flang] Handle mismatches of procedure type args
luporl Mar 3, 2023
e4a74ef
[mlir][Bazel] Adjust build after aafb52d7c9226cd9925bd5135309bd02b6e3…
akuegel Mar 14, 2023
20fb4c3
Revert "Fix include order in CXType.cpp"
AaronBallman Mar 14, 2023
00c5233
Revert "[libc][NFC] Move memcmp implementations in subfolders"
gchatelet Mar 14, 2023
a49118a
[reland][libc][NFC] Move memcmp implementations in subfolders
gchatelet Mar 14, 2023
0ea6f0e
[AMDGPU] Don't run `llc-pipeline.ll` when expensive_checks are enabled
Pierre-vh Mar 14, 2023
f81317a
[NFC][OHOS] Temporarily switch off tests for windows
kpdev Mar 14, 2023
a031f72
[libc] Correctly pass the compile options to the internal GPU compila…
jhuber6 Mar 14, 2023
874c49f
[SLP]Fix PR61395: need to adjust vector factor after emitting shuffle
alexey-bataev Mar 14, 2023
1f1fea6
Reland: [DAG/AMDGPU] Use UniformityAnalysis in DAGISel
Pierre-vh Mar 13, 2023
d12af65
[TTI] Treat AND/OR with widenable conditions as free of cost
xortator Mar 14, 2023
48fb665
[libclang] No longer attempt to get a dependent bit-width
chbaker0 Mar 14, 2023
8df140c
[PhaseOrdering] Add test for DAE/GlobalDCE interaction (NFC)
nikic Mar 14, 2023
55aa4bf
[lldb] Fix -Wswitch in TypeSystemClang.cpp ('SveBoolx2' and 'SveBoolx…
DamonFool Mar 14, 2023
022f2fa
[libc] Remove dummy archive and file from integration test
jhuber6 Mar 14, 2023
f652bfe
[X86] Fix typo in vXi64 ABDS/ABDU test cases
RKSimon Mar 14, 2023
4bf004e
[DAG] Fold (bitcast (logicop (bitcast x), (c))) -> (logicop x, (bitca…
RKSimon Mar 14, 2023
4e3c872
llvm/test/TableGen/intrinsic-pointer-to-any.td: Rework D125247.
chapuni Mar 14, 2023
f80a976
[mlir][vector] Add gather lowering patterns
kuhar Mar 14, 2023
09a5915
[OpenMP][libomptarget][NFC] Add documentation regarding NextGen plugins
kevinsala Feb 28, 2023
6472a2e
[flang] Handle parent component on the LHS of intrinsic assignment
clementval Mar 14, 2023
0702838
[mlir][vector] Clarify OOB semantics of remaining load/store ops
kuhar Mar 14, 2023
a585fa2
[CodeGen] Use *{Set,Map}::contains (NFC)
kazutakahirata Mar 14, 2023
0950332
Fix false positive with unreachable C++ catch handlers
AaronBallman Mar 14, 2023
da570ef
[DAG] Match select(icmp(x,y),sub(x,y),sub(y,x)) -> abd(x,y) patterns
RKSimon Mar 14, 2023
ae2d8de
[Docs] Added llvm-reduce docs in CommandGuide
aabhinavg1 Mar 14, 2023
cb47e25
[X86] Add test coverage for D137388
RKSimon Mar 14, 2023
c2a17bf
[libc] Set the stub filename to the target name instead of the source
jhuber6 Mar 14, 2023
f2a6fe6
Remove an unused private data member; NFC
AaronBallman Mar 14, 2023
271b5cf
[InstCombine] Fix infinite combine loop (PR61361)
nikic Mar 14, 2023
9afcebb
[AIX] change "llvm-ar" to "env OBJECT_MODE=any llvm-ar" in clang/test…
diggerlin Mar 14, 2023
27c4e23
[InstCombine] Return instruction from replaceUse()
nikic Mar 14, 2023
d9db5a5
[mlir] relax value handle updates when operation is replaced
ftynse Mar 3, 2023
fb56834
[Pipelines] Restore old DAE position in LTO pipeline
nikic Mar 14, 2023
87dadf0
[Pipeline] Move some GlobalOpt/GlobalDCE runs into simplification pip…
aeubanks Mar 13, 2023
a7d80f4
[Flang][OpenMP] Add support for OpenMP max reduction
kiranchandramohan Mar 14, 2023
0ae8f5a
[RISCV][test][llvm-objdump] Add test cases for objdump's handling of …
asb Mar 14, 2023
3d9880e
[OpenMP]Skip generating this[:1] map info for non-member variable.
jyu2-git Mar 13, 2023
33a55c3
[gn build] Fix gn build
aeubanks Mar 14, 2023
62fbb4c
Revert "[Flang][OpenMP] Add support for OpenMP max reduction"
kiranchandramohan Mar 14, 2023
f8bd0be
[AssumeBundleBuilder] Fix PreservedAnalyses reporting
aeubanks Mar 14, 2023
bd5d0fe
[libc++] Qualifies uint32_t and friends.
mordante Mar 12, 2023
d22cab2
[libc++][CI] Improves Dockerfile
mordante Feb 22, 2023
3fd42f5
[CoroCleanup] Invalidate analyses on changed functions before running…
aeubanks Mar 14, 2023
b2fad80
[RISCV][NFC] Small refactor in RISCVISAInfo::parseArchString
asb Mar 14, 2023
fdda602
Revert "[InstCombine] Return instruction from replaceUse()"
nikic Mar 14, 2023
62e46f2
[LLVM] Remove support for constant scalable vector GEPs.
paulwalker-arm Feb 27, 2023
507cba2
[StandardInstrumentations][NFC] Minor code cleanup
aeubanks Mar 14, 2023
e417f02
[SemaCXX]use CorrectDelayedTyposInExpr in ActOnCXXFoldExpr only when …
HerrCai0907 Mar 14, 2023
641939b
[SLP]Remove CreateShuffle lambda and reuse ShuffleBuilder functions.
alexey-bataev Mar 13, 2023
ec5f700
[libc++][format] Addresses LWG3825.
mordante Feb 18, 2023
95375ff
[gn] minor cleanup after 33a55c3d8c73
nico Mar 14, 2023
f52c950
[gn] reformat all gn files
nico Mar 14, 2023
9227f28
Move utility for acting on each lane of ElementCount to common code […
preames Mar 14, 2023
b5776f1
[StructuralHash][NFC] Use anonymous namespace
aeubanks Mar 14, 2023
a51e402
[NFC][libc++][format] Improves diagnostics.
mordante Feb 17, 2023
084e413
[RISCV] Fix regression due to interaction of MachineOutliner and Mach…
asb Mar 14, 2023
1f884ef
[docs] Document MemProf metadata in LangRef
teresajohnson Mar 14, 2023
55f3849
[Clang] Always use --no-undefined when linking AMDGPU images
jhuber6 Mar 13, 2023
a1bbf5a
[memprof] Record BuildIDs in the raw profile.
snehasish Mar 13, 2023
8403ccd
[Clang][CodeGen] Fix linkage and visibility of template parameter obj…
alexander-shaposhnikov Mar 14, 2023
99b22a6
[MSAN] Add (fixed) vector load/store test coverage [nfc]
preames Mar 14, 2023
16d1b0e
[libc++] Use __verbose_abort instead of std::abort in __throw_ functions
philnik777 Jan 8, 2023
1b49015
[mlir][vector] Add bazel dependency to TestVector
anlunx Mar 14, 2023
7aec387
[libc][NFC] add an atof test for a fuzz failure
michaelrj-google Mar 10, 2023
f880391
[SystemZ] Clear NW flags on an ISD::SUB when reused as comparison.
JonPsson Mar 9, 2023
b8cf7af
[mlir][sparse] Cleaning up names in {Merger,LoopEmitter,CodegenEnv}.{…
wrengr Mar 10, 2023
2d61628
[mlir][tosa] Swap reshape at end of reduce op with expand_shape
ramiro050 Mar 14, 2023
f242291
[FuncSpec] Do not run pre-link when doing LTO.
labrinea Mar 6, 2023
3129388
[mlir][tosa] Add FFT2d operation
lhutton1 Mar 14, 2023
cb743dd
[RISCV] Consistently error for arch strings with trailing _
asb Mar 14, 2023
a4d3bc6
[AutoUpgrade] Add flag to disable autoupgrading debug info
aeubanks Feb 2, 2023
f47404b
[clang][docs] Clarify the semantics of -fexceptions
asb Mar 14, 2023
81a1506
[TableGen][RISCV][Hexagon][LoongArch] Add a list of Predicates to HwM…
topperc Mar 14, 2023
597cef4
[libc] Fix GPU fatbinary dependencies for multi-source object libraries
jhuber6 Mar 14, 2023
ab107b3
[libc] Fix CMake deduplication `-Xclang` arguments
jhuber6 Mar 14, 2023
207ea5f
[BOLT] Add writable segment for allocatable sections
yota9 Feb 6, 2023
1c5d121
[flang] Handle Flang examples consistently with LLVM.
vzakhari Mar 13, 2023
c09730c
[RISCV] Pre-commit tests for D145897. NFC
topperc Mar 14, 2023
a1e39f3
[RISCV] Merge getLoadFP*Imm into a single function.
topperc Mar 14, 2023
e46d8a7
[InlineOrder] Plugin Inline Order
kazutakahirata Mar 14, 2023
dab75a4
[libc] Remove leftover debug prints
jhuber6 Mar 14, 2023
a98ac8e
[MSAN] Minor refactor to reduce future diff [nfc]
preames Mar 14, 2023
1a90faa
[Passes] Remove some legacy passes
aeubanks Mar 13, 2023
fbca61c
[flang] Load fir.ref<fir.class<T>> instead of creating a wrong box
clementval Mar 14, 2023
d505d20
Revert "[LLVM][OHOS] Clang toolchain and targets"
mysterymath Mar 14, 2023
e63a600
[flang] Fixed linaro-flang-aarch64-sharedlibs after D145992.
vzakhari Mar 14, 2023
f9b438b
[SLP] Outline GEP chain cost modeling into new TTI interface - NFCI.
Feb 23, 2023
c361741
[BasicBlockUtils] Expose an internal utility in API [nfc]
preames Mar 14, 2023
e48ae0d
[clang-offload-bundler] Standardize TargetID field for bundler
lamb-j Mar 10, 2023
e6a789e
Remove -lower-global-dtors-via-cxa-atexit flag
Mar 9, 2023
180865a
[AArch64] Add FP16 broadcast and transpose costs
davemgreen Mar 14, 2023
f51bdae
[Flang][OpenMP] Add support for OpenMP max reduction
kiranchandramohan Mar 14, 2023
c1125ae
[MLIR] : Add integer mul in scf to openmp conversion
kiranchandramohan Mar 14, 2023
2ef4162
[mlir][sparse] Improve sort operation by generating inlined code to c…
bixia1 Mar 9, 2023
093b264
[SimplifyLibCalls] Return Value from optimizeSinCosPi when making change
aeubanks Mar 14, 2023
0ddc283
[RISCV] A@plt-B+C: emit R_RISCV_PLT32 even if A is defined
MaskRay Mar 14, 2023
2f5fe16
[RISCV][MC] Adjust conditions to emit R_RISCV_ADD*/R_RISCV_SUB* pairs
MaskRay Mar 14, 2023
16e67e6
[BOLT][NFC] Remove BB::getBranchInfo accepting MCSymbol ptr
aaupov Mar 14, 2023
2eae9d8
[BOLT][NFC] Use llvm::is_contained
aaupov Mar 14, 2023
1fd9ba9
Add missing test for 35fd37177b9b201f26390fe963767be548c8c2e9
dwblaikie Mar 14, 2023
ab5eae0
[mlir][spirv][NFC] Clean up scf-to-spirv pass
kuhar Mar 14, 2023
dfee4c7
[mlir][spirv] Fix scf.yield pattern conversion
kuhar Mar 14, 2023
14a06b0
[test] Improve MC/AArch64/elf-reloc-plt32.s to check defined symbol
MaskRay Mar 14, 2023
b5c661c
[bazel][libc] Re-add dependency on errno to strtol_test_helper.
slackito Mar 14, 2023
d4a4d0d
clang/test/Driver/clang-offload-bundler-standardize.c REQUIRES assert…
chapuni Mar 14, 2023
fe7b38c
llvm-tblgen: Split out CodeGenIntrinsics.cpp from CodeGenTarget.cpp
chapuni Feb 12, 2023
59fe64a
Let IntrinsicEmitter free from CodeGenTarget.h
chapuni Feb 11, 2023
c41be8f
[Clang] Fix ClassifyImplicitMemberAccess to handle cases where the ac…
shafik Mar 14, 2023
9637e95
[RISCV] Support ISD::STRICT_FADD/FSUB/FMUL/FDIV for vector types.
Mar 6, 2023
68c14f5
JITLink: Add missing EHFrame NULL terminator on aarch64/ELF
tstellar Mar 14, 2023
141b7d4
[mlir][spirv] Fix UnifyAliasedResourcePass for 64-bit index
antiagainst Mar 14, 2023
194f3dc
[VPlan] VPWidenIntOrFpInductionRecipe inherits from VPHeaderPHIRecipe
michaelmaitland Feb 15, 2023
b6ae90b
[lli] Register profiling support for ORC in lli
Mar 14, 2023
4e99891
[BOLT][NFC] Provide default impl for MIB methods that are only overri…
aaupov Mar 14, 2023
ef45c12
[compiler-rt][builtins] Support builtins for armv8m.base
fdischner Mar 15, 2023
ce10610
[BOLT][NFC] Simplify MCPlusBuilder::getRegSize
aaupov Mar 15, 2023
cb45be2
[RISCV][NFC] Combine identical switch cases in TTI
benshi001 Mar 14, 2023
edda857
[BOLT][NFC] Move addRelocation{X86,AArch64} into MCPlusBuilder
aaupov Mar 15, 2023
f198c50
Fix split-dwarf-dwp-invalid test to be Windows-path-separator compatible
dwblaikie Mar 15, 2023
7ada7bb
[Target] Use *{Set,Map}::contains (NFC)
kazutakahirata Mar 15, 2023
3e497a1
[MLIR] Update/fix memref region computation for affine.parallel ops
bondhugula Feb 18, 2023
768211f
Mark test modified in e48ae0d as XFAIL for PS4/PS5 until the author c…
dyung Mar 15, 2023
b595eb8
[llvm] Use *{Set,Map}::contains (NFC)
kazutakahirata Mar 15, 2023
65fb636
[clang-offload-bundler] Fix test failures and document typo
lamb-j Mar 15, 2023
ea9d404
[clang] Use *{Set,Map}::contains (NFC)
kazutakahirata Mar 15, 2023
20ed9ce
[Pipeline] Remove early InstCombine in ThinLTO post link sample profi…
aeubanks Mar 13, 2023
f3b9912
[clang-offload-bundler] Fix error with regex in bundler test
lamb-j Mar 15, 2023
b38aa29
Add __builtin_set_flt_rounds
jinge90 Mar 15, 2023
1b89aeb
[libc] Add instructions for linux headers
kaladron Mar 14, 2023
d3fa067
[mlir][Tensor] Use folded evaluators in tiling implementation of `ten…
Mar 15, 2023
7707ed9
[mlir] Fix two build warnings (NFC)
DamonFool Mar 15, 2023
15aa965
[clang-tools-extra] Use *{Set,Map}::contains (NFC)
kazutakahirata Mar 15, 2023
65a2d6d
[lldb] Use *{Set,Map}::contains (NFC)
kazutakahirata Mar 15, 2023
ce14f7b
[mlir] Use Use *{Set,Map}::contains (NFC)
kazutakahirata Mar 15, 2023
cd60bff
CodeGen: Add some additional is_fpclass lowering tests
arsenm Feb 1, 2023
672e91e
clang: Add baseline test for nofpclass emission
arsenm Feb 28, 2023
e6e7a6d
Attributor: Add baseline tests for nofpclass
arsenm Mar 2, 2023
dd81810
clang: Emit nofpclass(nan inf) for -ffinite-math-only
arsenm Feb 27, 2023
ffe12e7
clang: Handle MatrixType in hasFloatingRepresentation
arsenm Feb 28, 2023
d61f560
[flang] Use Use *{Set,Map}::contains (NFC)
kazutakahirata Mar 15, 2023
872a3bf
clang: Fix header tests for nofpclass
arsenm Mar 15, 2023
0aee67a
[polly] Use DenseMap::contains (NFC)
kazutakahirata Mar 15, 2023
608212a
[Clang] Check feature requirement from inlined callee
ecnelises Mar 15, 2023
9d0e5e7
[RISCV] Reserve X18 by default for Android
hiraditya Mar 15, 2023
564ed0b
[NFC] Add some debug printouts to CaptureTracking
xortator Mar 15, 2023
9c88812
[clangd] Patch PragmaMarks in preamble section of the file
kadircet Mar 14, 2023
82c8bf8
[clangd] Patch main file macros in preamble
kadircet Mar 14, 2023
ee7c474
[mlir][affine][analysis][NFC] Simplify FlatAffineConstraints API
matthias-springer Mar 15, 2023
64b45db
[AMDGPU] Select v_sat_pk_u8_i16
Pierre-vh Feb 24, 2023
f90849d
[AMDGPU] Use UniformityAnalysis in AtomicOptimizer
Pierre-vh Mar 14, 2023
7258317
[NVPTX] Expose LDU builtins
jchlanda Mar 3, 2023
96cc2d0
[clang] Add AVR specific inline assembly escaped characters
benshi001 Mar 9, 2023
06afee2
[InstCombine] Precommit tests for one-use check in icmp-range; NFC
bcl5980 Mar 15, 2023
d99d765
[InstCombine] Remove one-use limit when it can simplify to a const in…
bcl5980 Mar 15, 2023
67fde2b
[FuncSpec] Minor refactoring in statistics and debug messages.
labrinea Feb 22, 2023
ba1c773
[RISCV] Precommit test to show wrong way to pass scalable FP vector o…
kito-cheng Mar 15, 2023
cf40b8a
[RISCV] Pass vector argument by stack correctly.
kito-cheng Mar 15, 2023
9b488ac
[libunwind][RISC-V] Rewrite testcase with C as possible.
kito-cheng Mar 15, 2023
a95255f
Revert "[flang] Load fir.ref<fir.class<T>> instead of creating a wron…
clementval Mar 15, 2023
af38530
[lldb] Refactor CrashReason
DavidSpickett Mar 9, 2023
71c4d18
Revert "[lldb] Refactor CrashReason"
DavidSpickett Mar 15, 2023
7056260
[DAG] Fold multiple insert_vector_elt of zero values into an AND mask
RKSimon Mar 15, 2023
13a0b48
[OpenMP][libomptarget][AMDGPU] Update print launch info
jplehr Mar 15, 2023
6db766a
Reland "[lldb] Refactor CrashReason"
DavidSpickett Mar 15, 2023
9e8bac7
[clangd] Respect WantDiags when emitting diags from possibly stale pr…
kadircet Mar 15, 2023
536f35e
[DWARFLinker][DWARFv5] Support debug_loclists.
avl-llvm Feb 27, 2023
cb7fb73
[AArch64] Assembly Support for FEAT_GCS/FEAT_CHK
lenary Mar 15, 2023
4109e3f
Reapply "InstCombine: Fold is.fpclass(x, fcZero) to fcmp oeq 0"
arsenm Feb 15, 2023
0d18f31
InstCombine: Handle folding fcmp of 0 into llvm.is.fpclass
arsenm Feb 6, 2023
e6d670d
lit: Fix formatting in README.rst
tstellar Mar 15, 2023
36278b7
[Flang][RISCV] Emit target features for RISC-V
Mar 15, 2023
7501e53
[Clang] Give warning for an underaligned 128-bit __sync library call.
JonPsson Feb 8, 2023
c1f81e7
[DAG] mergeStore - peek through truncates when finding dead store(tru…
RKSimon Mar 15, 2023
768615b
[mlir][Transform] NFC - Refactor forall mapping to threads and blocks…
nicolasvasilache Mar 14, 2023
506fd67
[mlir][Transforms] OperationFolder: Remove redundant `create` API
matthias-springer Mar 15, 2023
55f7e00
[libclang] Add index option to store preambles in memory
vedgy Mar 15, 2023
dc20ce7
[DAG] TargetLowering::ShrinkDemandedOp - rename Demanded arg to Deman…
RKSimon Mar 15, 2023
82238fc
[llvm-debuginfo-analyzer] README
CarlosAlbertoEnciso Mar 15, 2023
93b89be
[AArch64][SVE] Fix the indexed addressing mode when FI = 0.
sdesmalen-arm Mar 15, 2023
d74e95c
Break the build
mgehre-amd Mar 15, 2023
8712bda
Run tests on any organisation
mgehre-amd Mar 15, 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
  •  
  •  
  •  
3 changes: 0 additions & 3 deletions .github/workflows/llvm-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ concurrency:

jobs:
check_all:
if: github.repository_owner == 'llvm'
name: Test llvm,clang,libclc
uses: ./.github/workflows/llvm-project-tests.yml
with:
Expand All @@ -40,15 +39,13 @@ jobs:
# These need to be separate from the check_all job, becuase there is not enough disk
# space to build all these projects on Windows.
build_lldb:
if: github.repository_owner == 'llvm'
name: Build lldb
uses: ./.github/workflows/llvm-project-tests.yml
with:
build_target: ''
projects: clang;lldb

check_lld:
if: github.repository_owner == 'llvm'
name: Test lld
uses: ./.github/workflows/llvm-project-tests.yml
with:
Expand Down
4 changes: 0 additions & 4 deletions bolt/include/bolt/Core/BinaryBasicBlock.h
Original file line number Diff line number Diff line change
Expand Up @@ -427,10 +427,6 @@ class BinaryBasicBlock {
/// Return branch info corresponding to an edge going to \p Succ basic block.
const BinaryBranchInfo &getBranchInfo(const BinaryBasicBlock &Succ) const;

/// Return branch info corresponding to an edge going to a basic block with
/// label \p Label.
BinaryBranchInfo &getBranchInfo(const MCSymbol *Label);

/// Set branch information for the outgoing edge to block \p Succ.
void setSuccessorBranchInfo(const BinaryBasicBlock &Succ, uint64_t Count,
uint64_t MispredictedCount) {
Expand Down
87 changes: 1 addition & 86 deletions bolt/include/bolt/Core/BinaryFunction.h
Original file line number Diff line number Diff line change
Expand Up @@ -1233,96 +1233,11 @@ class BinaryFunction {
return InputOffsetToAddressMap;
}

void addRelocationAArch64(uint64_t Offset, MCSymbol *Symbol, uint64_t RelType,
uint64_t Addend, uint64_t Value, bool IsCI) {
std::map<uint64_t, Relocation> &Rels =
(IsCI) ? Islands->Relocations : Relocations;
switch (RelType) {
case ELF::R_AARCH64_ABS64:
case ELF::R_AARCH64_ABS32:
case ELF::R_AARCH64_ABS16:
case ELF::R_AARCH64_ADD_ABS_LO12_NC:
case ELF::R_AARCH64_ADR_GOT_PAGE:
case ELF::R_AARCH64_ADR_PREL_LO21:
case ELF::R_AARCH64_ADR_PREL_PG_HI21:
case ELF::R_AARCH64_ADR_PREL_PG_HI21_NC:
case ELF::R_AARCH64_LD64_GOT_LO12_NC:
case ELF::R_AARCH64_LDST8_ABS_LO12_NC:
case ELF::R_AARCH64_LDST16_ABS_LO12_NC:
case ELF::R_AARCH64_LDST32_ABS_LO12_NC:
case ELF::R_AARCH64_LDST64_ABS_LO12_NC:
case ELF::R_AARCH64_LDST128_ABS_LO12_NC:
case ELF::R_AARCH64_TLSDESC_ADD_LO12:
case ELF::R_AARCH64_TLSDESC_ADR_PAGE21:
case ELF::R_AARCH64_TLSDESC_ADR_PREL21:
case ELF::R_AARCH64_TLSDESC_LD64_LO12:
case ELF::R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
case ELF::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
case ELF::R_AARCH64_MOVW_UABS_G0:
case ELF::R_AARCH64_MOVW_UABS_G0_NC:
case ELF::R_AARCH64_MOVW_UABS_G1:
case ELF::R_AARCH64_MOVW_UABS_G1_NC:
case ELF::R_AARCH64_MOVW_UABS_G2:
case ELF::R_AARCH64_MOVW_UABS_G2_NC:
case ELF::R_AARCH64_MOVW_UABS_G3:
case ELF::R_AARCH64_PREL16:
case ELF::R_AARCH64_PREL32:
case ELF::R_AARCH64_PREL64:
Rels[Offset] = Relocation{Offset, Symbol, RelType, Addend, Value};
return;
case ELF::R_AARCH64_CALL26:
case ELF::R_AARCH64_JUMP26:
case ELF::R_AARCH64_TSTBR14:
case ELF::R_AARCH64_CONDBR19:
case ELF::R_AARCH64_TLSDESC_CALL:
case ELF::R_AARCH64_TLSLE_ADD_TPREL_HI12:
case ELF::R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
return;
default:
llvm_unreachable("Unexpected AArch64 relocation type in code");
}
}

void addRelocationX86(uint64_t Offset, MCSymbol *Symbol, uint64_t RelType,
uint64_t Addend, uint64_t Value) {
switch (RelType) {
case ELF::R_X86_64_8:
case ELF::R_X86_64_16:
case ELF::R_X86_64_32:
case ELF::R_X86_64_32S:
case ELF::R_X86_64_64:
case ELF::R_X86_64_PC8:
case ELF::R_X86_64_PC32:
case ELF::R_X86_64_PC64:
case ELF::R_X86_64_GOTPCRELX:
case ELF::R_X86_64_REX_GOTPCRELX:
Relocations[Offset] = Relocation{Offset, Symbol, RelType, Addend, Value};
return;
case ELF::R_X86_64_PLT32:
case ELF::R_X86_64_GOTPCREL:
case ELF::R_X86_64_TPOFF32:
case ELF::R_X86_64_GOTTPOFF:
return;
default:
llvm_unreachable("Unexpected x86 relocation type in code");
}
}

/// Register relocation type \p RelType at a given \p Address in the function
/// against \p Symbol.
/// Assert if the \p Address is not inside this function.
void addRelocation(uint64_t Address, MCSymbol *Symbol, uint64_t RelType,
uint64_t Addend, uint64_t Value) {
assert(Address >= getAddress() && Address < getAddress() + getMaxSize() &&
"address is outside of the function");
uint64_t Offset = Address - getAddress();
if (BC.isAArch64()) {
return addRelocationAArch64(Offset, Symbol, RelType, Addend, Value,
isInConstantIsland(Address));
}

return addRelocationX86(Offset, Symbol, RelType, Addend, Value);
}
uint64_t Addend, uint64_t Value);

/// Return the name of the section this function originated from.
std::optional<StringRef> getOriginSectionName() const {
Expand Down
63 changes: 34 additions & 29 deletions bolt/include/bolt/Core/MCPlusBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,7 @@ class MCPlusBuilder {
MaxAllocatorId++;
// Build alias map
initAliases();
initSizeMap();
}

/// Create and return target-specific MC symbolizer for the \p Function.
Expand Down Expand Up @@ -414,6 +415,22 @@ class MCPlusBuilder {
return Info->get(Inst.getOpcode()).isPseudo();
}

/// Return true if the relocation type needs to be registered in the function.
/// These code relocations are used in disassembly to better understand code.
///
/// For ARM, they help us decode instruction operands unambiguously, but
/// sometimes we might discard them because we already have the necessary
/// information in the instruction itself (e.g. we don't need to record CALL
/// relocs in ARM because we can fully decode the target from the call
/// operand).
///
/// For X86, they might be used in scanExternalRefs when we want to skip
/// a function but still patch references inside it.
virtual bool shouldRecordCodeRelocation(uint64_t RelType) const {
llvm_unreachable("not implemented");
return false;
}

/// Creates x86 pause instruction.
virtual void createPause(MCInst &Inst) const {
llvm_unreachable("not implemented");
Expand Down Expand Up @@ -450,10 +467,11 @@ class MCPlusBuilder {
virtual MCPhysReg getX86R11() const { llvm_unreachable("not implemented"); }

/// Create increment contents of target by 1 for Instrumentation
virtual void createInstrIncMemory(InstructionListType &Instrs,
const MCSymbol *Target, MCContext *Ctx,
bool IsLeaf) const {
virtual InstructionListType createInstrIncMemory(const MCSymbol *Target,
MCContext *Ctx,
bool IsLeaf) const {
llvm_unreachable("not implemented");
return InstructionListType();
}

/// Return a register number that is guaranteed to not match with
Expand Down Expand Up @@ -496,15 +514,9 @@ class MCPlusBuilder {
return false;
}

virtual bool isPrefix(const MCInst &Inst) const {
llvm_unreachable("not implemented");
return false;
}
virtual bool isPrefix(const MCInst &Inst) const { return false; }

virtual bool isRep(const MCInst &Inst) const {
llvm_unreachable("not implemented");
return false;
}
virtual bool isRep(const MCInst &Inst) const { return false; }

virtual bool deleteREPPrefix(MCInst &Inst) const {
llvm_unreachable("not implemented");
Expand All @@ -515,10 +527,7 @@ class MCPlusBuilder {
return Inst.getOpcode() == TargetOpcode::EH_LABEL;
}

virtual bool isPop(const MCInst &Inst) const {
llvm_unreachable("not implemented");
return false;
}
virtual bool isPop(const MCInst &Inst) const { return false; }

/// Return true if the instruction is used to terminate an indirect branch.
virtual bool isTerminateBranch(const MCInst &Inst) const {
Expand Down Expand Up @@ -555,10 +564,7 @@ class MCPlusBuilder {
return false;
}

virtual bool isLeave(const MCInst &Inst) const {
llvm_unreachable("not implemented");
return false;
}
virtual bool isLeave(const MCInst &Inst) const { return false; }

virtual bool isADRP(const MCInst &Inst) const {
llvm_unreachable("not implemented");
Expand All @@ -574,10 +580,7 @@ class MCPlusBuilder {
llvm_unreachable("not implemented");
}

virtual bool isMoveMem2Reg(const MCInst &Inst) const {
llvm_unreachable("not implemented");
return false;
}
virtual bool isMoveMem2Reg(const MCInst &Inst) const { return false; }

virtual bool isLoad(const MCInst &Inst) const {
llvm_unreachable("not implemented");
Expand Down Expand Up @@ -861,10 +864,7 @@ class MCPlusBuilder {
}

/// Return true if the instruction is encoded using EVEX (AVX-512).
virtual bool hasEVEXEncoding(const MCInst &Inst) const {
llvm_unreachable("not implemented");
return false;
}
virtual bool hasEVEXEncoding(const MCInst &Inst) const { return false; }

/// Return true if a pair of instructions represented by \p Insts
/// could be fused into a single uop.
Expand Down Expand Up @@ -1193,7 +1193,10 @@ class MCPlusBuilder {
bool OnlySmaller = false) const;

/// Initialize aliases tables.
virtual void initAliases();
void initAliases();

/// Initialize register size table.
void initSizeMap();

/// Change \p Regs setting all registers used to pass parameters according
/// to the host abi. Do nothing if not implemented.
Expand Down Expand Up @@ -1236,7 +1239,7 @@ class MCPlusBuilder {
}

/// Return the register width in bytes (1, 2, 4 or 8)
virtual uint8_t getRegSize(MCPhysReg Reg) const;
uint8_t getRegSize(MCPhysReg Reg) const { return SizeMap[Reg]; }

/// For aliased registers, return an alias of \p Reg that has the width of
/// \p Size bytes
Expand Down Expand Up @@ -1986,6 +1989,8 @@ class MCPlusBuilder {
// alias (are sub or superregs of itself, including itself).
std::vector<BitVector> AliasMap;
std::vector<BitVector> SmallerAliasMap;
// SizeMap caches a mapping of registers to their sizes.
std::vector<uint8_t> SizeMap;
};

MCPlusBuilder *createX86MCPlusBuilder(const MCInstrAnalysis *,
Expand Down
4 changes: 4 additions & 0 deletions bolt/include/bolt/Rewrite/RewriteInstance.h
Original file line number Diff line number Diff line change
Expand Up @@ -474,6 +474,10 @@ class RewriteInstance {
uint64_t NewTextSegmentOffset{0};
uint64_t NewTextSegmentSize{0};

/// New writable segment info.
uint64_t NewWritableSegmentAddress{0};
uint64_t NewWritableSegmentSize{0};

/// Track next available address for new allocatable sections.
uint64_t NextAvailableAddress{0};

Expand Down
13 changes: 0 additions & 13 deletions bolt/lib/Core/BinaryBasicBlock.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -593,19 +593,6 @@ BinaryBasicBlock::getBranchInfo(const BinaryBasicBlock &Succ) const {
return std::get<1>(*Result);
}

BinaryBasicBlock::BinaryBranchInfo &
BinaryBasicBlock::getBranchInfo(const MCSymbol *Label) {
auto BI = branch_info_begin();
for (BinaryBasicBlock *BB : successors()) {
if (BB->getLabel() == Label)
return *BI;
++BI;
}

llvm_unreachable("Invalid successor");
return *BI;
}

BinaryBasicBlock *BinaryBasicBlock::splitAt(iterator II) {
assert(II != end() && "expected iterator pointing to instruction");

Expand Down
18 changes: 17 additions & 1 deletion bolt/lib/Core/BinaryFunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -987,7 +987,7 @@ size_t BinaryFunction::getSizeOfDataInCodeAt(uint64_t Offset) const {
if (!Islands)
return 0;

if (Islands->DataOffsets.find(Offset) == Islands->DataOffsets.end())
if (!llvm::is_contained(Islands->DataOffsets, Offset))
return 0;

auto Iter = Islands->CodeOffsets.upper_bound(Offset);
Expand Down Expand Up @@ -4517,5 +4517,21 @@ bool BinaryFunction::isAArch64Veneer() const {
return true;
}

void BinaryFunction::addRelocation(uint64_t Address, MCSymbol *Symbol,
uint64_t RelType, uint64_t Addend,
uint64_t Value) {
assert(Address >= getAddress() && Address < getAddress() + getMaxSize() &&
"address is outside of the function");
uint64_t Offset = Address - getAddress();
LLVM_DEBUG(dbgs() << "BOLT-DEBUG: addRelocation in "
<< formatv("{0}@{1:x} against {2}\n", this, Offset,
Symbol->getName()));
bool IsCI = BC.isAArch64() && isInConstantIsland(Address);
std::map<uint64_t, Relocation> &Rels =
IsCI ? Islands->Relocations : Relocations;
if (BC.MIB->shouldRecordCodeRelocation(RelType))
Rels[Offset] = Relocation{Offset, Symbol, RelType, Addend, Value};
}

} // namespace bolt
} // namespace llvm
28 changes: 5 additions & 23 deletions bolt/lib/Core/MCPlusBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -464,17 +464,9 @@ void MCPlusBuilder::initAliases() {
}

// Propagate smaller alias info upwards. Skip reg 0 (mapped to NoRegister)
std::queue<MCPhysReg> Worklist;
for (MCPhysReg I = 1, E = RegInfo->getNumRegs(); I < E; ++I)
Worklist.push(I);
while (!Worklist.empty()) {
MCPhysReg I = Worklist.front();
Worklist.pop();
for (MCSubRegIterator SI(I, RegInfo); SI.isValid(); ++SI)
SmallerAliasMap[I] |= SmallerAliasMap[*SI];
for (MCSuperRegIterator SI(I, RegInfo); SI.isValid(); ++SI)
Worklist.push(*SI);
}

LLVM_DEBUG({
dbgs() << "Dumping reg alias table:\n";
Expand All @@ -491,22 +483,12 @@ void MCPlusBuilder::initAliases() {
});
}

uint8_t MCPlusBuilder::getRegSize(MCPhysReg Reg) const {
// SizeMap caches a mapping of registers to their sizes
static std::vector<uint8_t> SizeMap;

if (SizeMap.size() > 0) {
return SizeMap[Reg];
}
SizeMap = std::vector<uint8_t>(RegInfo->getNumRegs());
void MCPlusBuilder::initSizeMap() {
SizeMap.resize(RegInfo->getNumRegs());
// Build size map
for (auto I = RegInfo->regclass_begin(), E = RegInfo->regclass_end(); I != E;
++I) {
for (MCPhysReg Reg : *I)
SizeMap[Reg] = I->getSizeInBits() / 8;
}

return SizeMap[Reg];
for (auto RC : RegInfo->regclasses())
for (MCPhysReg Reg : RC)
SizeMap[Reg] = RC.getSizeInBits() / 8;
}

bool MCPlusBuilder::setOperandToSymbolRef(MCInst &Inst, int OpNum,
Expand Down
2 changes: 1 addition & 1 deletion bolt/lib/Passes/FrameAnalysis.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@ bool FrameAnalysis::updateArgsTouchedFor(const BinaryFunction &BF, MCInst &Inst,
// offset specially after an epilogue, where tailcalls happen. It should be
// -8.
for (std::pair<int64_t, uint8_t> Elem : Iter->second) {
if (ArgsTouchedMap[&BF].find(Elem) == ArgsTouchedMap[&BF].end()) {
if (!llvm::is_contained(ArgsTouchedMap[&BF], Elem)) {
ArgsTouchedMap[&BF].emplace(Elem);
Changed = true;
}
Expand Down
Loading