Skip to content
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

[mlirc] Add missing extern C #95829

Merged
merged 1 commit into from
Jun 17, 2024
Merged

[mlirc] Add missing extern C #95829

merged 1 commit into from
Jun 17, 2024

Conversation

jpienaar
Copy link
Member

@jpienaar jpienaar commented Jun 17, 2024

This was missing being wrapped in extern C block.

Don't know why didn't fail elsewhere, but failed on Windows build while linking Python libs.

@llvmbot llvmbot added the mlir label Jun 17, 2024
@llvmbot
Copy link
Member

llvmbot commented Jun 17, 2024

@llvm/pr-subscribers-mlir

Author: Jacques Pienaar (jpienaar)

Changes
  • [mlir][bzl] Add missing dep
  • [llvm-profdata] Clean up traverseAllValueSites (NFC) (#95467)
  • [MC] flushPendingLabels: revert setAtom change
  • [mlir][spirv] Implement SPIR-V lowering for vector.deinterleave (#95313)
  • [MC] Move MCFragment::Atom to MCSectionMachO::Atoms
  • [LLDB][Windows] Fix watchpoints for Windows (#95446)
  • [HWASan] disable hwasan_symbolize_stack_uas on x86
  • [libc][stdlib] Fix UB in freelist (#95330)
  • [BOLT] Fix duplicate diagnostic message (#95167)
  • [mlir][mesh] Fix wrong argument passed to targetShardingInUnsplitLastAxis (#95059)
  • [flang] Address missed cases for REDUCE change
  • [lldb] Use packaging module instead of pkg_resources (#93712)
  • [Transforms] Migrate to a new version of getValueProfDataFromInst (#95477)
  • Reland '[hwasan] Add fixed_shadow_base flag (#73980)' (#95445)
  • [HWASan] comment why hwasan_symbolize_stack_uas is arm64 only
  • [llvm][SelectionDAG] Fix up chains in lowerInvokeable. rdar://113994760 (#94004)
  • [compiler-rt][AArch64][FMV] Use the hw.optional.arm.caps fast path (#95275)
  • [X86][AsmParser] Avoid duplicated code in MatchAndEmit(ATT/Intel)Instruction
  • [RISCV] Don't use SEW=16 .vf instructions to move scalar bf16 into a vector.
  • [Transforms] Migrate to a new version of getValueProfDataFromInst (#95485)
  • [Codegen] (NFC) Faster algorithm for MachineBlockPlacement (#91843)
  • [X86][MC] Add missing support for pseudo rex/rex2 prefix in assembler
  • [RISCV] Remove unused check prefixes. NFC
  • [RISCV] Remove duplicate bf16 testing. NFC
  • StreamChecker.cpp: Use isa<> (for #93408) [-Wunused-but-set-variable]
  • Reland "[libc] fix aarch64 linux full build (#95358)" (#95423)
  • [mlir][scf]: Expose emitNormalizedLoopBounds/denormalizeInductionVariable util functions (#94429)
  • [MLIR][Flang][OpenMP] Implement lowering simd aligned to MLIR (#95198)
  • [RISCV] Remove unnecessary bf16 -mattr from vfmv.v.f.ll. NFC
  • [MLIR][GPU] Add gpu.cluster_dim_blocks and gpu.cluster_block_id Ops (#95245)
  • [RISCV] Remove partially duplicate riscv_vfmv_v_f_vl patterns.
  • [RISCV] Remove vfmerge.vf patterns with bf16 types.
  • [RISCV] Add vselect pattern with SelectFPImm.
  • [Safe Buffers] Serialize unsafe_buffer_usage pragmas (#92031)
  • [libc] Provide vprintf for baremetal (#95363)
  • [libc] printf
  • [lldb][TypeSystemClang][NFCI] Factor completion logic for individual types out of GetCompleteQualType (#95402)
  • [NFCI][AMDGPU] Try to use PressureDiff to Calculate RegPressure. (#94221)
  • *[clang][Fuchsia] Use unsigned int for wint_t on -fuchsia targets (#95499)
  • [lld][ELF] Add basic TLSDESC support for LoongArch
  • [ARM][AArch64] Bail out if CandidatesWithoutStackFixups is empty (#95410)
  • [Driver] Support -Wa
  • [llvm-exegesis] Only link/initialize supported targets (NFC) (#95421)
  • [Driver] Support -Wa
  • [CodeGen] Remove target SubRegLiveness flags (#95437)
  • [SDAG] Lower range attribute to AssertZext (#95450)
  • MathExtras/test: increase coverage (#95425)
  • [clang-cl] Map /Ot to -O3 instead of -O2 (#95406)
  • [SimplifyCFG] More accurate use legality check for sinking (#94462)
  • [SPIRV] Silence unused variable warnings (#95492)
  • [APFloat] Add APFloat support for FP4 data type (#95392)
  • Revert "[MC/DC][Coverage] Loosen the limit of NumConds from 6 (#82448)"
  • Reapply#4 "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"
  • [SimplifyCFG] Add tests for sinking with multiple uses (NFC)
  • [Flang][OpenMP] NFC: Check omp.loop_nest in compound construct lowering (#95404)
  • [flang][OpenMP] Support reduction of POINTER variables (#95148)
  • [clang-cl] Support the /Ob3 flag
  • [libclang/python] Fix bugs in custom enum implementation and add tests (#95381)
  • [MC] Cache MCRegAliasIterator (#93510)
  • [AArch64] LowerAVG - fallback to default expansion (#95416)
  • [Error] Add non-consuming toString (#95375)
  • [SDPatternMatch] Only match ISD::SIGN_EXTEND in m_SExt (#95415)
  • [SROA] Preserve all GEP flags during speculation
  • [AArch64] Add i128 and fp128 tests to fptoi. NFC
  • [AMDGPULowerBufferFatPointers] Don't try to preserve flags for constant expressions
  • Reapply: [MC/DC][Coverage] Loosen the limit of NumConds from 6 (#82448)
  • [lldb][test] Add test for completing ObjCObjectType (#95405)
  • Recommit "[VPlan] First step towards VPlan cost modeling. (#92555)"
  • [AArch64] Extend SVE diagnostics. (#94976)
  • ** [AArch64][SME] Enable subreg liveness tracking for AArch64 (#92142)**
  • [AMDGPU] Extend llvm.amdgcn.set.inactive intrinsic to support Reg32/Reg64 types (#94457)
  • [llvm-c] Move LLVMAttributeIndex to a more apropriate place. NFC.
  • [Flang][OpenMP] Fix type in getBaseObject causing crashes in certain scenarios (#95472)
  • [llvm-exegesis] Fix typos in cmake file
  • [flang] Implement !DIR$ VECTOR ALWAYS (#93830)
  • [X86] Add scalar test coverage for ISD::AVG nodes on 32 and 64-bit targets
  • [AMDGPU] Change getLdStRegisterOperand to !cond for better diagnostic (#95475)
  • [ProfileData] Migrate to getValueArrayForSite (#95493)
  • [include-cleaner] Pass WorkingDir to suggestPathToFileForDiagnostics (#95114)
  • [DAG] fold `avgs(sext(x)
  • Fix silent truncation of inline ASM srcloc cookie when going through a DiagnosticInfoSrcMgr (#84559)
  • [AMDGPU] Make use of composeSubRegIndices. NFCI. (#95548)
  • ** [RemoveDIs] Print IR with debug records by default (#91724)**
  • [clang][HeaderSearch] Fix handling of relative file-paths in suggestPathToFileForDiagnostics (#95121)
  • [mlir][spirv] Add integration test for vector.deinterleave (#95469)
  • [VPlan] Pre-compute cost for all instrs only feeding exit conditions.
  • [OpenMP] Add Environment Variable to disable Reuse of Blocks for High Loop Trip Counts (#89239)
  • [ARM] Add tan intrinsic lowering (#95439)
  • [AMDGPULowerBufferFatPointers] Fix offset-only ptrtoint (#95543)
  • [mlir][bzl] Fix broken BUILD due to typo in CAPITransformsObjects in BUILD.bazel.
  • [MC][X86] addConstantComments - add mul vXi16 comments
  • [CLANG][DWARF] Handle DIE offset collision in DW_IDX_parent (#95339)
  • [AMDGPU] NFC: Remove duplicate VOP_DPP_Pseudo TableGen definitions (#95370)
  • [mlir][Transform] Extend transform.foreach to take multiple arguments (#93705)
  • [libcxx][test][AIX] address more platform differences in locale tests (#94826)
  • [mlir][test] Fix filecheck annotation typos [2/n] (#93476)
  • [GlobalISel][AArch64] AArch64O0PreLegalizerCombiner: Disable fixed-point iteration (#94291)
  • [ProfileData] Fix the order of tests (#95549)
  • [ProfileData] Sink the length checks (#95559)
  • [libc][math][c23] Add f16fmaf C23 math function (#95483)
  • [RISCV] Add isel patterns for bf16 riscv_vfmv_v_f_vl of FP constant.
  • [lldb] Stop testing LLDB on Clang changes in pre-commit CI (#95537)
  • [Transforms] Migrate to a new version of getValueProfDataFromInst (#95442)
  • [Flang] Hoisting constant-sized allocas at flang codegen. (#95310)
  • [libc++] Add default copy ctor to "__chrono/exception.h" (#95338)
  • [MC] Add MCFragment allocation helpers
  • [libc++] Rename workflow that restarts preempted jobs
  • Make diagnostic pragma override -Werror=foo and DefaultError warnings
  • [Analysis] Migrate to a new version of getValueProfDataFromInst (#95561)
  • [MC] Aligned bundling: remove special handling for RelaxAll
  • [AMDGPU] Adding multiple use analysis to SIPeepholeSDWA (#94800)
  • [libc] Fixed NamedType usage in Fenv HeaderSpec Types (#95487)
  • [flang] Lower REDUCE intrinsic for reduction op with args by value (#95353)
  • [flang] Add stack reclaim pass to reclaim allocas in loop (#95309)
  • [mlir][sparse] add canonicalization patterns for IterateOp. (#95569)
  • Revert "[libc] printf
  • Revert "Recommit "[VPlan] First step towards VPlan cost modeling. (#92555)""
  • [flang][cuda] Propagate data attribute to global with initialization (#95504)
  • [NFC][PowerPC] Add test to check lanemasks for subregisters. (#94363)
  • [compiler-rt] Remove 'memprof_meminfoblock.h' from MEMPROF_HEADERS (NFC) (#95334)
  • [HLSL] Use hlsl vector template in type printer (#95489)
  • Check whether EvaluatedStmt::Value is valid in VarDecl::hasInit (#94515)
  • [libc++] Revert temporary attempt to implement LWG 4110 (#95263)
  • [clang-doc][cmake] Copy assets to build directory (#95187)
  • [libc++] Revert LWG3223 Broken requirements for shared_ptr converting constructors (#93071)
  • [flang] Lower function/subroutine attribute to func op (#95468)
  • Revert " [AArch64][SME] Enable subreg liveness tracking when SME is available" (#95574)
  • [lldb] Tweak Python interpreter workaround on macOS (#95582)
  • [mlir][scf]: Removed LoopParams struct and used Range instead (NFC) (#95501)
  • [GlobalIsel] Import GEP flags (#93850)
  • [NFC][PowerPC] Update the option to -enable-subreg-liveness.
  • [libc][stdlib] Make the FreeListHeap constant-initializable (#95453)
  • Set Support system_libs if WIN32
  • [clang-interp] Use -fno-sized-deallocation in two tests (#95546)
  • [lldb][test] Force dwarf4 usage in test requiring it (#95449)
  • [InstallAPI] Pick up input headers by directory traversal (#94508)
  • [gn build] Port feed66f
  • [Clang][NFC] Avoid opening namespace std (#95470)
  • [libc] Remove unnecessary include from putchar.h (#95576)
  • [libc] add LIBC_INLINE annotations to BlockStore (#95573)
  • [libc] add rwlock (#94156)
  • [mlir] Do not merge blocks during canonicalization by default (#95057)
  • [flang] Fix shared libs build for alloca change. (#95597)
  • [libc] fix preferred_type attribute detection (#95599)
  • [AMDGPU] Fix lowering of abs for i16 vectors with more than 2 elements (#95413)
  • Revert "[mlir][spirv] Add integration test for vector.deinterleave" (#95607)
  • [VPlan] Support extracting any lane of uniform value.
  • [CodeGen] Support vectors across all backends (#95518)
  • [lldb] Fix the semantics of SupportFile equivalence (#95606)
  • [libc] fix build errors (#95600)
  • [clang-tidy] avoid false positive when overload for bugprone-return-const-ref-from-parameter (#95434)
  • [ProfileData] Migrate to a new version of getValueProfDataFromInst (#95568)
  • [ProfileData] Sink the length checks (#95604)
  • [libc] fix build errors (#95613)
  • [mlir][tosa] Only match rfft2d of floats in linalg conversion (#93432)
  • Reapply "[libc] printf
  • [libc] Add the implementation of the fdopen function (#94186)
  • [flang] Fixing PPC lit failure due to alloca reordering. (#95621)
  • [MLIR][Arith][Resubmit] add fastMathAttr on arith::extf and arith::truncf (#95346)
  • [AMDGPU] Fix lit failure (#95620)
  • [Support] Import SipHash c reference implementation. (#94393)
  • [Support] Integrate SipHash.cpp into libSupport. (#94394)
  • [gn build] Port cfbed2c
  • [llvm][AArch64] Support -mcpu=apple-m4 (#95478)
  • [llvm][AArch64] Rearrange Apple CPUs by generation
  • [Support] Add SipHash-based 16-bit ptrauth ABI-stable hash. (#93902)
  • [lldb] Adds additional fields to ProcessInfo (#91544)
  • [libc][__support][bit] Switch popcount to Brian Kernighan’s Algorithm (#95625)
  • [mlir][scf]: Copy old attributes of old ForOp in replaceWithAdditionalYields (#95502)
  • [clang][Interp] Use different inline descriptors for global variables
  • [clang-format] Don't over-indent comment below unbraced body (#95354)
  • (New) Add option to generate additional debug info for expression dereferencing pointer to pointers (#95298)
  • [clang][Interp] Fix calling lambdas with explicit instance pointers...
  • [clang][Interp][test] Move explicit object parameter test to cxx23.cpp
  • [llvm] Use llvm::unique (NFC) (#95628)
  • [ELF] -r: force -Bstatic
  • AMDGPU: Legalize atomicrmw fadd for v2f16/v2bf16 for local memory (#95393)
  • AMDGPU: Handle legal v2f16/v2bf16 atomicrmw fadd for global/flat (#95394)
  • [ARM] Remove duplicate custom SDag node (NFCI) (#93419)
  • MathExtras: rewrite some methods to never overflow (#95556)
  • [clang][Interp] Fix checking null pointers for initialization
  • [Debug Info] Fix debug info ptr to ptr test (#95637)
  • [GISel] Unify multiple instances of getTypeForLLT (NFC) (#95577)
  • [AMDGPU][GISel] Use datalayout alignment for buffer-load legalization (#95578)
  • [clang-tidy]fix false positives of the result of std::move() is used as rvalue for performance-move-const-arg (#95633)
  • [X86] Lower vXi8 multiplies by constant using PMADDUBSW on SSSE3+ targets (#95403)
  • [clang][Interp][NFC] Handle AddressSpaceConversion casts
  • [clang][Interp] Support ExtVectorElementExprs
  • [RISCV] Use isCompatible when we need runtime VSETVLIInfo equality. NFC (#94340)
  • [x86] Fix -Wunused-value in X86ISelLowering.cpp (NFC)
  • [X86] Add test showing failure to constant fold (V)PMADDWD nodes
  • [X86] computeKnownBitsForTargetNode - add handling for (V)PMADDWD nodes
  • [clang][modules] HeaderSearch::MarkFileModuleHeader sets textual headers' HeaderFileInfo non-external when it shouldn't (#89005)
  • [RISCV] Add scalar type test coverage for ISD::AVG nodes
  • [Clang][Driver] Expose -fno-eliminate-unused-debug-types to clang-cl (#95259)
  • Revert "AMDGPU: Handle legal v2f16/v2bf16 atomicrmw fadd for global/flat (#95394)"
  • [X86] Add test showing failure to constant fold (V)PMADDUBSW nodes
  • [X86] computeKnownBitsForTargetNode - add handling for (V)PMADDUBSW nodes
  • [mlir][gpu] Add builder to gpu.launch_func (#95541)
  • [libc++][TZDB] Disables a failing test. (#95659)
  • [lldb] Remove dead code block (NFC) (#94775)
  • [llvm][CodeGen] Fix failure in window scheduler caused by weak dependencies (#95636)
  • [DAG] Fold Y = sra (X
  • [MachineSink] Use SmallDenseMap (NFC) (#95676)
  • [LV] Add tests with multiple conditions feedin exit branches.
  • [JumpThreading] Use SmallPtrSet (NFC) (#95674)
  • [TargetLibraryInfo] Use std::move (NFC) (#95671)
  • Cleanup MC/DC intrinsics for #82448 (#95496)
  • [clang-tidy] fix false negatives for performance-inefficient-vector-operation (#95667)
  • [CostModel][X86] Update vXi8 mul costs for AVX512BW/AVX2/AVX1/SSE
  • [TargetLibraryInfo] Use the default move constructor/assignment operator (#95685)
  • [StackColoring] Declare BitVector outside the loop (#95688)
  • [X86] Fix throughput of AVX2/AVX512VL vector extension/truncations
  • [clang] Clean up macOS version flags (#95374)
  • Reformat
  • mmapForContinuousMode: Calculate FileOffsetToBitmap from FileOffsetToCounters. NFC.
  • [Clang] Instantiate local constexpr functions eagerly (#95660)
  • [Clang][AArch64] Generalise streaming mode checks for builtins. (#93802)
  • AMDGPU: Don't use amdgpu_ps for some atomic tests
  • AMDGPU: Expand raw ptr buffer atomic fadd tests
  • AMDGPU: Fix legalization for llvm.amdgcn.raw.buffer.atomic.fadd.v2bf16
  • [VPlan] Use VPTransformState::UF in vectorizeInterleaveGroup (NFCI).
  • [libcxx] [ci] Simplify the mingw x86_64 configs (#95609)
  • [clang-format] Handle AttributeMacro before access modifiers (#95634)
  • [clang-format] Add DiagHandler parameter to format::getStyle() (#91317)
  • [clang][NFC] Update C++ DR issues list
  • [Transforms] Replace incorrect uses of m_Deferred with m_Specific (#95719)
  • [clang-format][NFC] Suppress diagnostic noise in GetStyleOfFile test
  • [DebugInfo][Reassociate] Fix missing debug location drop (#95355)
  • [clang-format] Handle Verilog delay control (#95703)
  • [C++20] [Modules] [Itanium ABI] Generate the vtable in the module unit of dynamic classes (#75912)
  • [LLDB] Remove dead code (NFC) (#95713)
  • [InstSimplify] Implement simple folds for ucmp/scmp intrinsics (#95601)
  • [InstCombine] simplify average of lsb (#95684)
  • [SimplifyCFG] Add support for sinking instructions with multiple uses (#95521)
  • [clang][AArch64] Add validation for Global Register Variable. (#94271)
  • LangRef: getelementptr: inbounds is about the object the pointer is 'based on' (#95650)
  • [AMDGPULowerBufferFatPointers] Expand const exprs using fat pointers (#95558)
  • [AMDGPU][LIT] Added a MIR LIT showing the SGPR spills (#94584)
  • [RISCV] Remove getOffsetOfLocalArea() (#93765)
  • [InstCombine] Prefer source over result element type (NFC)
  • [SelectionDAG] Add support for the 3-way comparison intrinsics [US]CMP (#91871)
  • [mlir][ArmSVE] Lower predicate-sized vector.create_masks to whilelt (#95531)
  • AMDGPU: Cleanup struct buffer atomic fadd intrinsic tests
  • mlir: fix incorrect usages of divideCeilSigned (#95680)
  • [lldb] Add register field enum class (#90063)
  • [flang][debug] Support fixed size character type. (#95462)
  • ** [DebugInfo] Handle DW_OP_LLVM_extract_bits in SROA (#94638)**
  • [libc++] Mark more types as trivially relocatable (#89724)
  • [LLVM][DAGCombiner] Extend coverage for insert_subv(undef
  • [Xtensa] Fix register asm parsing. (#95551)
  • [clang][CodeGen] Return RValue from EmitVAArg (#94635)
  • [clang][CodeGen] Fix EmitInvariantStart for non-zero addrspace (#94346)
  • [MachineLICM] Correctly Apply Register Masks (#95746)
  • [mlir][emitc] Add EmitC index types (#93155)
  • [DebugInfo] Update sroa-extract-bits.ll test (#95774)
  • [CodeGen] Do not include $noreg in any regmask operands. NFCI. (#95775)
  • [flang][debug] Support allocatables. (#95557)
  • [AArch64] Refactor creation of a shuffle mask for TBL (NFC) (#92529)
  • AMDGPU: Fix legalization for llvm.amdgcn.struct.buffer.atomic.fadd.v2bf16
  • [libc++] Guard transitive include of &lt;locale&gt; with availability macro (#95686)
  • [flang] Add -mlink-builtin-bitcode option to fc1 (#94763)
  • [InstCombine] Add test for #95547 (NFC)
  • [InstCombine] Don't preserve context across div
  • [mlir][Target] Improve ROCDL gpu serialization API (#95456)
  • [clang][Interp] Implement Complex-complex multiplication (#94891)
  • Revert [mlir][Target] Improve ROCDL gpu serialization API (#95790)
  • [VectorCombine] Change shuffleToIdentity to use Use. NFC
  • Reapply "AMDGPU: Handle legal v2f16/v2bf16 atomicrmw fadd for global/flat (#95394)"
  • [TableGen][Docs] Fix !range markup (#95540)
  • [mlirc] Add missing extern C

Full diff: https://github.com/llvm/llvm-project/pull/95829.diff

1 Files Affected:

  • (modified) mlir/include/mlir-c/Rewrite.h (+8)
diff --git a/mlir/include/mlir-c/Rewrite.h b/mlir/include/mlir-c/Rewrite.h
index 45218a1cd4ebd..bed93045f4b50 100644
--- a/mlir/include/mlir-c/Rewrite.h
+++ b/mlir/include/mlir-c/Rewrite.h
@@ -19,6 +19,10 @@
 #include "mlir-c/Support.h"
 #include "mlir/Config/mlir-config.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 //===----------------------------------------------------------------------===//
 /// Opaque type declarations (see mlir-c/IR.h for more details).
 //===----------------------------------------------------------------------===//
@@ -57,4 +61,8 @@ mlirRewritePatternSetFromPDLPatternModule(MlirPDLPatternModule op);
 
 #undef DEFINE_C_API_STRUCT
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif // MLIR_C_REWRITE_H

Don't know why didn't fail elsewhere, but failed on Windows build while
linking Python libs.

Signed-off-by: Jacques Pienaar <jpienaar@google.com>
@jpienaar jpienaar changed the title cpdl [mlirc] Add missing extern C Jun 17, 2024
@makslevental makslevental self-requested a review June 17, 2024 19:04
Copy link
Contributor

@makslevental makslevental left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jpienaar jpienaar merged commit c9549e1 into llvm:main Jun 17, 2024
5 of 6 checks passed
@@ -57,4 +61,8 @@ mlirRewritePatternSetFromPDLPatternModule(MlirPDLPatternModule op);

#undef DEFINE_C_API_STRUCT

#ifdef __cplusplus
}
#endif
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is any of these covered by C unit-tests?

nirvedhmeshram pushed a commit to iree-org/llvm-project that referenced this pull request Jun 20, 2024
This was missing being wrapped in extern C block.

Don't know why didn't fail elsewhere, but failed on Windows build while
linking Python libs.

Signed-off-by: Jacques Pienaar <jpienaar@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants