Skip to content

[mlirc] Add missing extern C #95829

New issue

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

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

Already on GitHub? # to your account

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>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants