Skip to content

[SYCL-MLIR] Merge from intel/llvm sycl branch #10895

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 5,634 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5634 commits
Select commit Hold shift + click to select a range
7b14c05
[VPlan] Move up VPRecipeWithIRFlags definition. (NFC)
fhahn Aug 7, 2023
c2d1900
[FuncSpec] Estimate dead blocks more accurately.
labrinea Aug 7, 2023
7a1b2ad
[RISCV] Implement straight-forward bf16<->int conversion cases
asb Aug 7, 2023
ec70627
[Flang][Sema] Move directive sets to a shared location
skatrak Aug 4, 2023
1cffd26
[TargetLowering][RISCV] Improve codegen for saturating bf16 to int co…
asb Aug 7, 2023
f2bdc29
[RISCV] Add a blank line after end of RUN lines. NFC.
tclin914 Aug 4, 2023
e61ca23
[AMDGPU] Add and use SIInstrFlags::GWS. NFC.
jayfoad Aug 4, 2023
f7031c4
[NFC] strengthen some CHECK-NOT lines
ssahasra Aug 7, 2023
4d3e917
[Clang] Make __arm_streaming apply only to prototyped functions.
sdesmalen-arm Aug 7, 2023
0b17e9d
[VPlan] Move VPRecipeWithIRFlags::getFastMathFlags. (NFCI)
fhahn Aug 7, 2023
1d9f77f
ValueTracking: Really remove CannotBeOrderedLessThanZero
arsenm Aug 5, 2023
7f00389
[OpenCL] Fix grammar in test error messages; NFC
svenvh Aug 7, 2023
aa27848
[lldb] Fix typo in comments and in test
eymay Aug 7, 2023
4097a24
[Clang][OpenMP] Support for Code Generation of loop bind clause
SunilKuravinakop Aug 7, 2023
bbb9589
[TII] NFCI: Simplify the interface for isTriviallyReMaterializable
sdesmalen-arm Aug 7, 2023
711dff4
[X86] Add matchTruncateWithPACK helper for matching signbits/knownbit…
RKSimon Aug 7, 2023
0d1f853
[X86] truncateVectorWithPACK - ensure we don't truncate to <1 x iXX> …
RKSimon Aug 7, 2023
380fd82
[RISCV][test] Add non-zfbfmin RUN lines to bfloat-convert.ll
asb Aug 7, 2023
7d6fb14
[mlir] Apply ClangTidy fix (NFC)
akuegel Aug 7, 2023
39d8876
[mlir][NVGPU] Support 2D masks in transform.nvgpu.create_async_groups
matthias-springer Aug 7, 2023
0726cb0
[FileCheck, 3/4] Allow AP value for numeric expressions
RoboTux Aug 7, 2023
4cce27d
[clang][ASTMatcher] Add Matcher 'dependentSizedExtVectorType'
danix800 Aug 7, 2023
8baf862
[clang][ASTMatcher] Add Matcher 'convertVectorExpr'
danix800 Aug 7, 2023
bb58748
[clang/cxx-interop] Teach clang to ignore availability errors that co…
zoecarver Aug 7, 2023
03dec91
[NFC][SCCP] Regenerate test case
Aug 7, 2023
8aeb84c
[ValueTracking] Switch over opcode in isKnownToBeAPowerOfTwo() (NFC)
nikic Aug 7, 2023
2c37701
Merge from 'main' to 'sycl-web' (30 commits)
jsji Aug 7, 2023
68a0a37
[AggressiveAntiDepBreaker] Tweak the fix for renaming a subregister o…
jayfoad Aug 2, 2023
97324f6
[AggressiveAntiDepBreaker] Refix renaming a subregister of a live reg…
jayfoad Aug 2, 2023
56d92c1
[MachineScheduler] Track physical register dependencies per-regunit
jayfoad Jul 28, 2023
999ac10
[RISCVGatherScatterLowering] Support broadcast base pointer
preames Aug 7, 2023
7eba3e5
[OpenMP][AMDGPU] Add Envar for controlling HSA busy queue tracking
mhalk Aug 7, 2023
47fe3b3
[RISCV] Use v(f)slide1down for build_vector with dominant values
preames Aug 7, 2023
95cd6ae
[InstCombine] Add tests for non-zero pow2 of shl with nowrap flags (NFC)
nikic Aug 7, 2023
5de89b4
[ValueTracking] Support non-zero pow2 for shl with nowrap flags
nikic Aug 7, 2023
f6c7264
Revert "[ValueTracking] Improve the coverage of isKnownToBeAPowerOfTw…
goldsteinn Aug 7, 2023
0e2de66
[libc++][PSTL] Parallelize random_access_iterator
gonzalobg Aug 7, 2023
fab4972
Revert "[Clang][OpenMP] Support for Code Generation of loop bind clause"
nico Aug 7, 2023
f5fffbe
[scudo] Implement and enable MemMapLinux
ChiaHungDuan Aug 7, 2023
9b6aaf1
[gn] port f5fffbe2a587
nico Aug 7, 2023
f1fc29b
[libcxx] Fix typo in comments
eymay Aug 7, 2023
e894c3d
[SLP]Improve stores vectorization.
alexey-bataev Jul 12, 2023
e15e969
[FileCheck, 4/4] NFC: Stop using ExpressionValue
RoboTux Jul 3, 2023
f48969f
Revert "[Flang][Sema] Move directive sets to a shared location"
kiranchandramohan Aug 7, 2023
6c45b0f
[RISCV] Refactor to reduce some duplication in RISCVInstrInfoV.td. NFC
topperc Aug 7, 2023
a749b32
[flang][openacc] Support readonly modifier for declare copyin in modu…
clementval Aug 7, 2023
f83ab2b
[ARM] Improve generation of thumb stack accesses
john-brawn-arm Jul 31, 2023
165f7f0
[flang] Bump python dependencies in flang/examples/FlangOmpReport
Sezoir Aug 7, 2023
fe05193
[InstrProf] Encode linkage names in IRPGO counter names
ellishg Aug 4, 2023
5cb48f7
[flang][openacc] Add lowering support for device_resident clause on O…
clementval Aug 7, 2023
1b74459
[RISCV][GlobalISel] Fix tests for addition, subtraction and logical i…
nitinjohnraj Aug 7, 2023
b8fef7a
[RISCV][GlobalISel] Legalize constants, undefined values, extension i…
nitinjohnraj Aug 7, 2023
bddaa35
Anonymous unions should be transparent wrt `[[clang::trivial_abi]]`.
gribozavr Aug 7, 2023
5dde755
[AggressiveInstCombine][NFC] Fix typo
kitaisreal Aug 7, 2023
f0e8bda
[libc++abi] Update path to script in demangler documentation
ldionne Aug 7, 2023
0ba9aec
[Clang][NVPTX] Permit use of the alias attribute for NVPTX targets
jhuber6 Aug 7, 2023
9d4162f
[clang-tidy] Add fix-it support to `llvmlibc-inline-function-decl`
frobtech Aug 5, 2023
019a477
[libc] Clean up required LIBC_INLINE uses in src/string
frobtech Aug 5, 2023
0f99bc2
MIPS: clear_cache, use _flush_cache instead of cacheflush
wzssyqa Aug 7, 2023
e8a3dda
[clang-tidy][NFC] Update tests to specify CheckOptions using new syntax
njames93 Aug 7, 2023
1af159e
[clang-tidy][NFC] Update tests to CheckOptions using new syntax
PiotrZSL Aug 7, 2023
9e99a4f
[NVPTX] Fix missed test after adding alias support for NVPTX
jhuber6 Aug 7, 2023
0342bbf
Revert "Anonymous unions should be transparent wrt `[[clang::trivial_…
nico Aug 7, 2023
7cc6154
[RISCV] Add back handling of X > -1 to ISD::SETCC lowering.
topperc Aug 7, 2023
b98d0b2
[InstrProf] Fix macOS profile tests after D156569
ellishg Aug 7, 2023
17226c9
[lldb] Make TSan errors fatal when running the test suite
JDevlieghere Aug 7, 2023
4dce6d3
[OpenMP] Disable some offloading/api tests for AArch64
ceseo Aug 1, 2023
b743c19
[FileCheck] Turn errors into assert in valueFromStringRepr()
RoboTux Jun 30, 2023
c192b3d
[bazel] Add missing deps for parsing headers standalone
rupprecht Aug 7, 2023
fda7778
[clang-tidy] Update tests to include C++23 and C++26
vogelsgesang Aug 6, 2023
729b55e
ValueTracking: Reduce indentation in computeKnownFPClass
arsenm Aug 5, 2023
07c8bcc
[AArch64] Narrow G_SEXT_INREG to s64 before lowering.
topperc Aug 7, 2023
f6ba352
[libc] Add nullptr check option to printf %s
michaelrj-google Aug 2, 2023
769333a
[clang][CGExprConstant] handle unary negation on integrals
nickdesaulniers Aug 7, 2023
1e15d79
[mlir][sparse] minor cleanup of merger unit test
aartbik Aug 7, 2023
f6267d3
[clang][CGExprConstant] handle implicit widening/narrowing Int-to-Int…
nickdesaulniers Aug 7, 2023
f0a3954
[libc][cleanup] Fix most conversion warnings
michaelrj-google Aug 2, 2023
649e1d1
[RISCV][GlobalISel] Legalize bitshift instructions for narrow types
nitinjohnraj Aug 7, 2023
3e66a17
Reland [clang][DeclPrinter] Fix missing semicolon in AST print for me…
strimo378 Jul 28, 2023
57cbd26
Flag for LoadBinaryWithUUIDAndAddress, to create memory image or not
jasonmolenda Aug 7, 2023
df3800f
[bazel][libc] Add more missing deps for parsing headers standalone.
slackito Aug 7, 2023
4b1702e
AMDGPU: Fix counting source modifiers as literal constants
arsenm Aug 4, 2023
0b57c3a
APFloat: Add getExactLog2
arsenm Aug 4, 2023
300c5aa
[lldb] Remove unused Socket::PreDisconnect (NFC)
JDevlieghere Aug 7, 2023
291eb25
[clang][DeclPrinter] Fix AST print to suppress output of implicit (no…
strimo378 Aug 7, 2023
f620472
[OpenMP][Docs] Update OpenMP supported features table
ddpagan Aug 4, 2023
3bcfd6e
[RISCV][GlobalISel] Legalize logical instructions for nonpow 2 types
nitinjohnraj Aug 7, 2023
9abc1e0
[test][libc] Fix aligned_alloc argument
vitalybuka Aug 7, 2023
cd61e8d
[RISCV][GlobalISel] Legalize add/sub for wide and non-pow2 types
nitinjohnraj Jul 28, 2023
c9fe119
[RISCV][GlobalISel] Legalize G_ICMP and G_SELECT
nitinjohnraj Aug 7, 2023
f5cb626
[InstCombine] Introduce tests for D156811
antoniofrighetto Aug 8, 2023
2116921
[InstCombine] Fold `select` of `srem` and conditional add
antoniofrighetto Aug 8, 2023
f0a9aac
[RISCV] Use vmv.s.x for a constant build_vector when the entire size …
preames Aug 7, 2023
88a83c9
[Coroutine][DebugInfo] Pre-commit test for a DISubprogram with declar…
dianqk Aug 7, 2023
ca1a5b3
[Coroutine][DebugInfo] Update the linkage name of the declaration of …
dianqk Aug 7, 2023
dfe2942
[mlir][sparse][gpu] add spgemm operator
Aug 1, 2023
85e4ee1
[SystemZ] Avoid type legalization on structs
cuviper Jul 26, 2023
e7a8a7d
[Clang][LoongArch] Fix ABI handling of empty structs in C++ to match …
SixWeining Aug 7, 2023
5bc4b34
[clang][hexagon] Handle library path arguments earlier
androm3da Aug 1, 2023
12a22ec
[scudo] Dump MapAllocatorCache::retrieve() data
Aug 8, 2023
0664db5
[mlir][sparse][gpu] fix spgemm runtime compile error
Aug 8, 2023
0bdbe7b
[lldb] Fix data race in ConnectionFileDescriptor
JDevlieghere Aug 7, 2023
3e2e10b
Clarify the invariant of the MLIR pass pipeline around `Pass::initial…
joker-eph Aug 5, 2023
370a6f0
[MLIR] Make the `ConversionTarget` const ref in the DialectConversion…
joker-eph Aug 5, 2023
4529797
Add a generic "convert-to-llvm" pass delegating to an interface
joker-eph Aug 5, 2023
0620f99
Fix minor typos in comments in MLIR Pass.cpp (NFC)
joker-eph Aug 8, 2023
c8aab9b
Add missing libraries dependencies to ConvertToLLVMPass to fix the sh…
joker-eph Aug 8, 2023
caa5167
Revert "[lldb] Fix data race in ConnectionFileDescriptor"
JDevlieghere Aug 8, 2023
db92fb8
[clang][ASTImporter] Add import of 'DependentSizedExtVectorType'
danix800 Aug 8, 2023
df21f9f
[clang][ASTImporter] Add import of 'ConvertVectorExpr'
danix800 Aug 8, 2023
a845252
Revert "[Clang] Fix -Wconstant-logical-operand when LHS is a constant"
xgupta Aug 8, 2023
6e07e90
[PPC32] Parse bl __tls_get_addr(x@tlsgd)@plt+32768
MaskRay Aug 8, 2023
32f6343
[Sanitizers] Fix test in pulldown (#10725)
yingcong-wu Aug 8, 2023
767ca3a
[RISCV] Remove pre-defined macro test for b extension. NFC.
tclin914 Aug 8, 2023
8184737
[mlir][Linalg] Clarify error message in YieldOp verification NFC
ubfx Aug 8, 2023
30b52a3
[CSKY] Optimize conditional branch and value select with BTSTI
benshi001 Jul 31, 2023
731bab5
[CSKY][test][NFC] Add tests of multiplication with immediates
benshi001 Jul 3, 2023
57c6fe2
[CSKY] Optimize multiplication with immediates
benshi001 Jul 3, 2023
ca21398
[MLIR][Presburger] Implement findSymbolicIntegerLexMin/Max for Presbu…
iambrj Aug 8, 2023
f4a6038
[X86][NFC]Remove dead code in IfConversion.cpp
XinWang10 Aug 8, 2023
24c91d4
[clang][ExprConstant] Fix crash on uninitialized base class subobject
hazohelet Aug 8, 2023
28b5f30
[Clang][AArch64] Add/implement ACLE keywords for SME.
sdesmalen-arm May 23, 2023
658490a
[OpenMP][OMPD][Doc] Update OMPD implementations details.
vigbalu Aug 2, 2023
876ccd5
[NFC] Update formatting of some symbolizer tests
spavloff Jul 21, 2023
5753103
[libc][doc] Update macros documentation
gchatelet Feb 13, 2023
38cf47f
[clang] Error on substitution failure within lambda body inside a req…
Fznamznon Aug 8, 2023
cb3136b
[clang] Pass --cuda-path to fix test/Driver/openmp-offload-jit.c
hahnjo Aug 8, 2023
0d05992
[AArch64] Regenerate fpround mir tests. NFC
davemgreen Aug 8, 2023
e2851ad
[VPlan] Use IterT template arg directly for VPInstruction operands (NFC)
fhahn Aug 8, 2023
44383ac
[RISCV] Add fixed vector tests for ct[l,t]z_zero_undef
lukel97 Aug 7, 2023
768740e
[RISCV] Lower unary zvbb ops for fixed vectors
lukel97 Aug 7, 2023
5d510ea
[RISCV] Lower vro{l,r} for fixed vectors
lukel97 Aug 7, 2023
7899d2a
[clang-tidy][NFC] Remove trailing whitespaces from ProTypeVarargCheck
PiotrZSL Aug 8, 2023
943fda5
[X86] matchTruncateWithPACK - canonically prefer v4i64 -> v4i32 shuff…
RKSimon Aug 7, 2023
5bd8f48
[FileCheck] Fix MSVC 'argument': truncation from 'int' to 'bool' warn…
RKSimon Aug 8, 2023
de775f2
[DAG] Add constant SPLAT handling in getNodes SIGN_EXTEND_INREG
davemgreen Aug 8, 2023
7f32088
[bazel] Fix bazel build for 4529797a9d7c19105815cc9a3f19571b5fca2d06
gribozavr Aug 8, 2023
d82a158
[flang][nfc] Add debug prints to FIR alias analysis
tblah Aug 4, 2023
c732a45
[flang] support (hl)fir.declare in alias analysis
tblah Aug 4, 2023
90ecb9d
[MemCpyOpt][test] add memssa verification on stack-move tests(NFC)
khei4 Aug 8, 2023
4492ec7
Revert "[flang] support (hl)fir.declare in alias analysis"
tblah Aug 8, 2023
e7191fb
[RISCV][Lsan] Set allocator for AP64
hau-hsu Aug 8, 2023
32b7c1f
[mlir][TOSA] Set default TOSA validation level to 'None' for TOSA -> …
MacDue Aug 8, 2023
f9a609c
[bazel] Fix the second bazel buildbot for 4529797a9d7c19105815cc9a3f1…
gribozavr Aug 8, 2023
93c5bae
[VPlan] Use printOperands for VPInstruction.
fhahn Aug 8, 2023
b560d5c
[CodeGen] Pre-commit tests showing incorrect pattern FMLA_* pseudo in…
igogo-x86 Aug 4, 2023
af635a5
[VPlan] Model wrap flags directly, remove *NUW opcodes (NFC)
fhahn Aug 8, 2023
50a76a7
[MLIR][NVGPU] Handling Offset in `nvgpu.tma.async.load`
grypp Aug 8, 2023
a2132d7
[Clang] Fix the do while statement disappearing in AST when an error …
yronglin Aug 8, 2023
7542477
[CodeGen] Precommit tests for D157095
igogo-x86 Aug 8, 2023
241cceb
[Clang][Tooling] Accept preprocessed input files
jryans Aug 2, 2023
e18a547
[VPlan] Fold if into return in prepareToExecute assertion (NFC).
fhahn Aug 8, 2023
e8efe7f
[AArch64][SME2][SVE2p1] Choose strided or contiguous loads
MDevereau Jul 26, 2023
b6d994d
[VPlan] Address post-commit suggestions for af635a554 (NFC).
fhahn Aug 8, 2023
a3cd2ee
[mlir][nvgpu] Add a nvgpu.rewrite_copy_as_tma transform operation.
nicolasvasilache Jul 24, 2023
28d8c0d
[mlir][nvgpu] Fix -Wunused-variable in NVGPUTransformOps.cpp (NFC)
DamonFool Aug 8, 2023
9329723
[NFC][AArch64] Added checks for global entries in ReplaceWithVeclib t…
JolantaJensen Aug 6, 2023
15ea230
[mlir][NVGPU] Support N-D masks in transform.nvgpu.create_async_groups
matthias-springer Aug 8, 2023
d2a61db
[libc++] Deflake the Clang Modules CI job
ldionne Aug 7, 2023
5e67348
[libc++] Remove variables that are not necessary anymore inside heade…
ldionne Jul 20, 2023
f7dbc85
[LegalizeTypes][RISCV] Support libcalls for fpto{s,u}i of bfloat by e…
asb Aug 8, 2023
c8e0364
[mlir][Target][LLVM] Adds an utility class for serializing operations…
fabianmcg Aug 8, 2023
86c4dfa
[mlir][gpu] Add GPU target attribute interface.
fabianmcg Aug 8, 2023
98ccc70
[DAG] Fix crash in replaceStoreOfInsertLoad
Pierre-vh Aug 3, 2023
96e1032
[AMDGPU] Add extended-image-insts to RemoveIncompatibleFunctions
Pierre-vh Aug 3, 2023
9fa7b9e
[mlir][gpu] Add target attribute to GPU modules.
fabianmcg Aug 8, 2023
bc9a375
Revert "[mlir][Target][LLVM] Adds an utility class for serializing op…
fabianmcg Aug 8, 2023
247cc26
[CUDA][HIP] Fix overloading resolution of delete operator
yxsamliu Aug 1, 2023
e74281a
[libc] Allow NVPTX to use aliases
jhuber6 Aug 7, 2023
89d0a76
[clang-tidy][include-cleaner] Add option to control deduplication of …
kadircet Aug 8, 2023
724b40a
[clang-tidy][Docs] Update docs per post-commit review
kadircet Aug 8, 2023
8e7f032
[Clang][OpenMP] Support for Code Generation of loop bind clause.
SunilKuravinakop Aug 8, 2023
05b4310
Revert "[Pipelines] Perform hoisting prior to GVN"
davemgreen Aug 8, 2023
b87a906
Merge from 'sycl' to 'sycl-web'
Aug 8, 2023
8f54d28
Merge from 'main' to 'sycl-web' (178 commits)
tylanphear Aug 8, 2023
76c624e
Fix bad guarding of INTEL_SYCL_OPAQUEPOINTER_READY
jsji Aug 8, 2023
99b77f3
Cherry-pick #10744 [SYCL] Fix check-all after #10635
jsji Aug 8, 2023
556954a
Merge from 'sycl' to 'sycl-web'
Aug 10, 2023
d6c09d3
Merge commit '556954a31d6d' into llvmspirv_pulldown
sys-ce-bb Aug 10, 2023
ad56aea
Fix @llvm.annotation translation with opaque pointers enabled. (#2035)
jcranmer-intel Jun 23, 2023
3dd5ef7
optimizing away pair type object copy in spv writer
jgstarIntel Jun 27, 2023
a11d65d
Implement support for SPV_KHR_shader_clock (#2026)
jgstarIntel Jun 29, 2023
4dd0b0a
Fix translation of SPV_INTEL_debug_module extension
vmaksimo Jul 3, 2023
2989ed7
Remove unnecessary semicolons (#2071)
svenvh Jul 6, 2023
3a95a40
Cache CU value translated outside of usual flow (#2072)
vmaksimo Jul 7, 2023
beaaadd
Switch the default of reverse translation to emitting opaque pointers…
jcranmer-intel Jul 7, 2023
cf9e9d5
.clang-tidy: disable misc-include-cleaner (#2077)
svenvh Jul 11, 2023
9263e90
Fix DebugTypeSubrange parameters order (#2076)
MrSidims Jul 12, 2023
500163c
Emit target extension types for SPIR-V friendly IR.
jcranmer-intel Jul 12, 2023
7803e37
Use -emit-opaque-pointers for SPIR-V-friendly IR.
jcranmer-intel Jul 12, 2023
63c1b91
Convert tests to use -emit-opaque-pointers (#2084)
jcranmer-intel Jul 17, 2023
90f3f9c
Correctly use cached DICompilationUnit (#2080)
MrSidims Jul 17, 2023
1cb6b2d
Remove tests that only make sense under typed pointers.
jcranmer-intel Jul 14, 2023
5a73df6
Convert many tests to use opaque pointers.
jcranmer-intel Jul 14, 2023
b1efb10
Handle ndrange parameter not being a GEP.
jcranmer-intel Jul 14, 2023
28359d3
XFAIL annotation_dbg_info_drop.ll (#2083)
MrSidims Jul 19, 2023
14e6e5c
Remove 3 calls of getNonOpaquePointerElementType (#2089)
MrSidims Jul 21, 2023
c186fe2
Convert tests to use opaque pointers.
jcranmer-intel Jul 18, 2023
85a5643
Fix the AVC motion estimation tests.
jcranmer-intel Jul 20, 2023
7e1b961
Fix translation of llvm.index.group in opaque pointers.
jcranmer-intel Jul 20, 2023
eb1f0c0
Fix translation of PipeStorage
jcranmer-intel Jul 20, 2023
e7e7beb
Rewrite joint_matrix tests (#2088)
MrSidims Jul 23, 2023
8ff51cd
Remove last -opaque-pointers flag from test (#2092)
svenvh Jul 24, 2023
25048b6
Workaround unsupported freeze insn (#2087)
LU-JOHN Jul 24, 2023
aed2dd2
Remove use of deprecated getWithSamePointeeType() (#2096)
vmaksimo Jul 25, 2023
ba03f12
Fix checks with incorrect labels (#2093)
LU-JOHN Jul 25, 2023
68bb243
Use llvm-toolchain-focal-17/ on the main branch (#2104)
MrSidims Jul 27, 2023
bd0ce29
Replace use of isOpaquePointerTy with isPointerTy (#2091)
asudarsa Jul 27, 2023
3516299
Don't preserve debug metadata with --spirv-preserve-auxdata (#2102)
sarnex Jul 27, 2023
d2c280e
Fix AttrKind attributes with --spirv-preserve-auxdata (#2107)
sarnex Jul 31, 2023
201285f
Fix parent scope index for ImportedEntity (#2095)
MrSidims Jul 31, 2023
0d9ff2c
Remove deprecated functions: setOpaquePointer, isOpaqueOrPointeeTypeM…
asudarsa Jul 31, 2023
0337240
Remove uses of supportsTypedPointers() (#2106)
MrSidims Jul 31, 2023
27ed358
Adjust "Source Lang Literal" logic to support multiple CompileUnits (…
mateuszchudyk Aug 1, 2023
436a02c
Initial implementation of SPV_KHR_cooperative_matrix extension (#2099)
vmaksimo Aug 1, 2023
6080f63
Update LLVM version from 17 to 18
svenvh Jul 25, 2023
89287a0
Revert "[CI] Use llvm-toolchain-focal-17/ on the main branch (#2104)"
svenvh Aug 2, 2023
7a4574a
Fix delete of functions that becomes unused (#2109)
wenju-he Aug 3, 2023
cd049ef
Remove unused code
vmaksimo Aug 8, 2023
1b29d1a
Use `auto *` for pointer types (#2115)
svenvh Aug 8, 2023
02359a6
Add assert for kernel arg metadata not matching kernel signature (#2116)
sarnex Aug 8, 2023
30e6487
Don't wrap kernels that are not being called in the module (#2119)
MrSidims Aug 9, 2023
99cb3db
Guard SelectionDAGBuilder code with INTEL_SYCL_OPAQUEPOINTER_READY
jsji Aug 11, 2023
6effc7f
Remove no_opaque_virtual-types test
jsji Aug 11, 2023
4132ba4
Fix tests after D153092 (#14944)
Fznamznon Aug 1, 2023
ce63b84
Test access and store operations for cooperative matrix (#2117)
vmaksimo Aug 9, 2023
7368c3e
Remove the -emit-opaque-pointers flag (#2121)
svenvh Aug 11, 2023
1362158
Add SPV_EXT_image_raw10_raw12 reader support (#2113)
svenvh Aug 10, 2023
4ba783b
Update spirv-to-ir-wrapper.ll to use opaque pointer
jsji Aug 11, 2023
6414c5f
Fix merge in group-instructions.ll
jsji Aug 11, 2023
ca05ca9
Guard 8e55e3374980ba64e059b8b55483c41c548f00a7 within Marco
jsji Aug 11, 2023
c02d2ff
Add -opaque-pointers=1 for failing tests
jsji Aug 11, 2023
2e69a40
Update vtable-align-address-space.cpp
jsji Aug 11, 2023
32bb25b
XFAIL two SPIRV tests
jsji Aug 11, 2023
d5d6d29
Revert "Revert "[lld][Arm] Big Endian - Byte invariant support.""
simpal01 Jun 22, 2023
685edda
Merge remote-tracking branch 'origin/sycl' into llvmspirv_pulldown
jsji Aug 12, 2023
ba3339a
Guard 4 typed pointer removal commits within INTEL_SYCL_OPAQUEPOINTER…
jsji Aug 13, 2023
aef58ce
Fix Driver test due to return code change
jsji Aug 13, 2023
dce52b4
Revert "AMDGPU: Move placement of RemoveIncompatibleFunctions"
jsji Aug 14, 2023
a26b643
Merge remote-tracking branch 'origin/sycl' into llvmspirv_pulldown
jsji Aug 14, 2023
8e92193
LLVM and SPIRV-LLVM-Translator pulldown (WW32)
nstester Aug 16, 2023
3d3060a
Merge remote-tracking branch 'upstream/sycl' into sycl-mlir
whitneywhtsang Aug 21, 2023
f0a09fd
Revert "[LV][LSV][SLP] Drop some typed pointer bitcasts"
whitneywhtsang Aug 21, 2023
e6ebeeb
Revert "[mlir][LLVMIR] Fix identified structs with same name"
whitneywhtsang Aug 21, 2023
ca951ad
Revert "[llvm] Replace uses of Type::getPointerTo (NFC)"
whitneywhtsang Aug 21, 2023
baf7e83
Revert "[ArgPromotion] Remove code for handling typed pointers (NFC)"
whitneywhtsang Aug 21, 2023
eaef803
Revert "[clang] Replace uses of CGBuilderTy::CreateElementBitCast (NFC)"
whitneywhtsang Aug 22, 2023
39a93dd
[SYCL-MLIR] Temporarily XFAIL clang driver tests
whitneywhtsang Aug 21, 2023
2fee8ea
[SYCL-MLIR][CI] Temporarily disable some build and test
whitneywhtsang Aug 22, 2023
80301a6
[SYCL-MLIR] Fix merge
whitneywhtsang Aug 18, 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.
53 changes: 53 additions & 0 deletions .ci/generate-buildkite-pipeline-premerge
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/usr/bin/env bash
#===----------------------------------------------------------------------===##
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
#===----------------------------------------------------------------------===##

#
# This file generates a Buildkite pipeline that triggers the various CI jobs for
# the LLVM project during pre-commit CI (each time a Phabricator diff is uploaded).
#
# See https://buildkite.com/docs/agent/v3/cli-pipeline#pipeline-format.
#

if ! git diff --name-only HEAD~1 | grep -q -E "^libcxx/|^libcxxabi/|^libunwind/|^runtimes/|^cmake/|^clang/"; then
# libcxx/, libcxxabi/, libunwind/, runtimes/, cmake/ or clang/ are not affected
exit 0
fi

reviewID="$(git log --format=%B -n 1 | sed -nE 's/^Review-ID:[[:space:]]*(.+)$/\1/p')"
if [[ "${reviewID}" != "" ]]; then
buildMessage="https://llvm.org/${reviewID}"
else
buildMessage="Push to branch ${BUILDKITE_BRANCH}"
fi

cat <<EOF
steps:
EOF

# If libc++ or one of the runtimes directories changed
if git diff --name-only HEAD~1 | grep -q -E "^libcxx/|^libcxxabi/|^libunwind/|^runtimes/|^cmake/"; then
cat <<EOF
- trigger: "libcxx-ci"
build:
message: "${buildMessage}"
commit: "${BUILDKITE_COMMIT}"
branch: "${BUILDKITE_BRANCH}"
EOF
fi

# If clang changed
if git diff --name-only HEAD~1 | grep -q -E "^clang/"; then
cat <<EOF
- trigger: "clang-ci"
build:
message: "${buildMessage}"
commit: "${BUILDKITE_COMMIT}"
branch: "${BUILDKITE_BRANCH}"
EOF
fi
30 changes: 30 additions & 0 deletions .ci/generate-buildkite-pipeline-scheduled
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/usr/bin/env bash
#===----------------------------------------------------------------------===##
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
#===----------------------------------------------------------------------===##

#
# This file generates a Buildkite pipeline that triggers the various CI jobs for
# the LLVM project on scheduled builds.
#
# See https://buildkite.com/docs/agent/v3/cli-pipeline#pipeline-format.
#

cat <<EOF
steps:
- trigger: "libcxx-ci"
build:
message: "${BUILDKITE_MESSAGE}"
commit: "${BUILDKITE_COMMIT}"
branch: "${BUILDKITE_BRANCH}"

- trigger: "clang-ci"
build:
message: "${BUILDKITE_MESSAGE}"
commit: "${BUILDKITE_COMMIT}"
branch: "${BUILDKITE_BRANCH}"
EOF
6 changes: 6 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,9 @@ f9008e6366c2496b1ca1785b891d5578174ad63e

# [libc++][NFC] Apply clang-format on large parts of the code base
5aa03b648b827128d439f705cd7d57d59673741d

# [clang][NFC] Remove trailing whitespaces and enforce it in lib, include and docs
f6d557ee34b6bbdb1dc32f29e34b4a4a8ad35e81

# [libc++][NFC] clang-format <shared_mutex>
2d7eb9c9ea1a146412a83603d5c0c6339a5d8284
5 changes: 3 additions & 2 deletions .github/workflows/closed-issues.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
name: Labeling closed issues
on:
issues:
types: ['closed']
workflow_dispatch
# issues:
# types: ['closed']

permissions:
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ jobs:
uses: actions/checkout@v3

- name: Install dependencies
run: apt-get install -y python3-setuptools
run: sudo apt-get install -y python3-setuptools

- name: Test lit
run: |
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/repo-lockdown.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ on:
- 'libcxxabi/**'
- 'libunwind/**'
- 'runtimes/**'
- 'lldb/**'
- '.github/**'
- 'clang/lib/Format/**'
- 'clang/include/clang/Format/**'
- 'clang/docs/**'
- 'clang/unitests/Format/**'
- 'clang/tools/clang-format/**'

permissions:
pull-requests: write
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/sycl_linux_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ on:
build_configure_extra_args:
type: string
required: false
default: "--hip --cuda --enable-esimd-emulator"
#Temporarily disable extra builds until opaque pointer is supported.
default: ""
#default: "--hip --cuda --enable-esimd-emulator"
build_artifact_suffix:
type: string
required: true
Expand Down Expand Up @@ -82,7 +84,9 @@ on:
build_configure_extra_args:
type: choice
options:
- "--hip --cuda --enable-esimd-emulator"
#Temporarily disable extra builds until opaque pointer is supported.
- ""
#- "--hip --cuda --enable-esimd-emulator"
# Cache properties need to match CC/CXX/CMake opts. Any additional choices
# would need extra care.
build_cache_root:
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/sycl_precommit_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,9 @@ jobs:
runner: '["Linux", "gen12"]'
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
target_devices: ext_oneapi_level_zero:gpu;opencl:gpu;opencl:cpu
#Temporarily disable E2E testing on gpu until opaque pointer is supported.
target_devices: opencl:cpu
#target_devices: ext_oneapi_level_zero:gpu;opencl:gpu;opencl:cpu
reset_gpu: true
install_drivers: ${{ contains(needs.detect_changes.outputs.filters, 'drivers') }}
uses: ./.github/workflows/sycl_linux_run_tests.yml
Expand Down
2 changes: 1 addition & 1 deletion bolt/include/bolt/Core/BinaryBasicBlock.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ class BinaryBasicBlock {
/// After output/codegen, map output offsets of instructions in this basic
/// block to instruction offsets in the original function. Note that the
/// output basic block could be different from the input basic block.
/// We only map instruction of interest, such as calls, and sdt markers.
/// We only map instruction of interest, such as calls and markers.
///
/// We store the offset array in a basic block to facilitate BAT tables
/// generation. Otherwise, the mapping could be done at function level.
Expand Down
30 changes: 16 additions & 14 deletions bolt/include/bolt/Core/BinaryContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/MC/MCPseudoProbe.h"
#include "llvm/MC/MCSectionELF.h"
#include "llvm/MC/MCSectionMachO.h"
#include "llvm/MC/MCStreamer.h"
Expand Down Expand Up @@ -639,9 +638,22 @@ class BinaryContext {
/// Total hotness score according to profiling data for this binary.
uint64_t TotalScore{0};

/// Binary-wide stats for macro-fusion.
uint64_t MissedMacroFusionPairs{0};
uint64_t MissedMacroFusionExecCount{0};
/// Binary-wide aggregated stats.
struct BinaryStats {
/// Stats for macro-fusion.
uint64_t MissedMacroFusionPairs{0};
uint64_t MissedMacroFusionExecCount{0};

/// Stats for stale profile matching:
/// the total number of basic blocks in the profile
uint32_t NumStaleBlocks{0};
/// the number of matched basic blocks
uint32_t NumMatchedBlocks{0};
/// the total count of samples in the profile
uint64_t StaleSampleCount{0};
/// the count of matched samples
uint64_t MatchedSampleCount{0};
} Stats;

// Address of the first allocated segment.
uint64_t FirstAllocAddress{std::numeric_limits<uint64_t>::max()};
Expand Down Expand Up @@ -673,20 +685,10 @@ class BinaryContext {
/// List of functions that always trap.
std::vector<const BinaryFunction *> TrappedFunctions;

/// Map SDT locations to SDT markers info
std::unordered_map<uint64_t, SDTMarkerInfo> SDTMarkers;

/// Map linux kernel program locations/instructions to their pointers in
/// special linux kernel sections
std::unordered_map<uint64_t, std::vector<LKInstructionMarkerInfo>> LKMarkers;

/// List of external addresses in the code that are not a function start
/// and are referenced from BinaryFunction.
std::list<std::pair<BinaryFunction *, uint64_t>> InterproceduralReferences;

/// PseudoProbe decoder
MCPseudoProbeDecoder ProbeDecoder;

/// DWARF encoding. Available encoding types defined in BinaryFormat/Dwarf.h
/// enum Constants, e.g. DW_EH_PE_omit.
unsigned LSDAEncoding = dwarf::DW_EH_PE_omit;
Expand Down
51 changes: 31 additions & 20 deletions bolt/include/bolt/Core/BinaryFunction.h
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,9 @@ class BinaryFunction {
bool HasPseudoProbe{BC.getUniqueSectionByName(".pseudo_probe_desc") &&
BC.getUniqueSectionByName(".pseudo_probe")};

/// True if the function uses ORC format for stack unwinding.
bool HasORC{false};

/// True if the original entry point was patched.
bool IsPatched{false};

Expand Down Expand Up @@ -378,7 +381,7 @@ class BinaryFunction {
/// Profile match ratio.
float ProfileMatchRatio{0.0f};

/// Raw branch count for this function in the profile
/// Raw branch count for this function in the profile.
uint64_t RawBranchCount{0};

/// Indicates the type of profile the function is using.
Expand Down Expand Up @@ -423,21 +426,6 @@ class BinaryFunction {
return BB->getIndex();
}

/// Return basic block that originally contained offset \p Offset
/// from the function start.
BinaryBasicBlock *getBasicBlockContainingOffset(uint64_t Offset);

const BinaryBasicBlock *getBasicBlockContainingOffset(uint64_t Offset) const {
return const_cast<BinaryFunction *>(this)->getBasicBlockContainingOffset(
Offset);
}

/// Return basic block that started at offset \p Offset.
BinaryBasicBlock *getBasicBlockAtOffset(uint64_t Offset) {
BinaryBasicBlock *BB = getBasicBlockContainingOffset(Offset);
return BB && BB->getOffset() == Offset ? BB : nullptr;
}

/// Release memory taken by the list.
template <typename T> BinaryFunction &clearList(T &List) {
T TempList;
Expand Down Expand Up @@ -619,10 +607,6 @@ class BinaryFunction {
Islands->CodeOffsets.emplace(Offset);
}

/// Register secondary entry point at a given \p Offset into the function.
/// Return global symbol for use by extern function references.
MCSymbol *addEntryPointAtOffset(uint64_t Offset);

/// Register an internal offset in a function referenced from outside.
void registerReferencedOffset(uint64_t Offset) {
ExternallyReferencedOffsets.emplace(Offset);
Expand Down Expand Up @@ -900,6 +884,21 @@ class BinaryFunction {
return LabelToBB.lookup(Label);
}

/// Return basic block that originally contained offset \p Offset
/// from the function start.
BinaryBasicBlock *getBasicBlockContainingOffset(uint64_t Offset);

const BinaryBasicBlock *getBasicBlockContainingOffset(uint64_t Offset) const {
return const_cast<BinaryFunction *>(this)->getBasicBlockContainingOffset(
Offset);
}

/// Return basic block that started at offset \p Offset.
BinaryBasicBlock *getBasicBlockAtOffset(uint64_t Offset) {
BinaryBasicBlock *BB = getBasicBlockContainingOffset(Offset);
return BB && BB->getOffset() == Offset ? BB : nullptr;
}

/// Retrieve the landing pad BB associated with invoke instruction \p Invoke
/// that is in \p BB. Return nullptr if none exists
BinaryBasicBlock *getLandingPadBBFor(const BinaryBasicBlock &BB,
Expand Down Expand Up @@ -1344,6 +1343,9 @@ class BinaryFunction {
/// Return true if the function has Pseudo Probe
bool hasPseudoProbe() const { return HasPseudoProbe; }

/// Return true if the function uses ORC format for stack unwinding.
bool hasORC() const { return HasORC; }

/// Return true if the original entry point was patched.
bool isPatched() const { return IsPatched; }

Expand Down Expand Up @@ -1445,6 +1447,10 @@ class BinaryFunction {
/// symbol associated with the entry.
MCSymbol *addEntryPoint(const BinaryBasicBlock &BB);

/// Register secondary entry point at a given \p Offset into the function.
/// Return global symbol for use by extern function references.
MCSymbol *addEntryPointAtOffset(uint64_t Offset);

/// Mark all blocks that are unreachable from a root (entry point
/// or landing pad) as invalid.
void markUnreachableBlocks();
Expand Down Expand Up @@ -1702,6 +1708,11 @@ class BinaryFunction {
/// Indicate that another function body was merged with this function.
void setHasFunctionsFoldedInto() { HasFunctionsFoldedInto = true; }

void setHasSDTMarker(bool V) { HasSDTMarker = V; }

/// Mark the function as using ORC format for stack unwinding.
void setHasORC(bool V) { HasORC = V; }

BinaryFunction &setPersonalityFunction(uint64_t Addr) {
assert(!PersonalityFunction && "can't set personality function twice");
PersonalityFunction = BC.getOrCreateGlobalSymbol(Addr, "FUNCat");
Expand Down
21 changes: 0 additions & 21 deletions bolt/include/bolt/Core/BinarySection.h
Original file line number Diff line number Diff line change
Expand Up @@ -509,27 +509,6 @@ inline raw_ostream &operator<<(raw_ostream &OS, const BinarySection &Section) {
return OS;
}

struct SDTMarkerInfo {
uint64_t PC;
uint64_t Base;
uint64_t Semaphore;
StringRef Provider;
StringRef Name;
StringRef Args;

/// The offset of PC within the note section
unsigned PCOffset;
};

/// Linux Kernel special sections point to a specific instruction in many cases.
/// Unlike SDTMarkerInfo, these markers can come from different sections.
struct LKInstructionMarkerInfo {
uint64_t SectionOffset;
int32_t PCRelativeOffset;
bool IsPCRelative;
StringRef SectionName;
};

} // namespace bolt
} // namespace llvm

Expand Down
Loading