This is an archive of the discontinued LLVM Phabricator instance.

[OCaml] Add missing TypeKinds, Opcode, and AtomicRMWBinOps
ClosedPublic

Authored by jberdine on Mar 13 2021, 4:41 AM.

Details

Summary

There are several enum values that have been added to LLVM-C that are
missing from the OCaml bindings. The types defined in
bindings/ocaml/llvm/llvm.ml should be in sync with the corresponding
enum definitions in include/llvm-c/Core.h. The enum values are passed
from C to OCaml unmodified, and clients of the OCaml bindings
interpret them as tags of the corresponding OCaml types. So the only
changes needed are to add the missing constructors to the type
definitions, and to change the name of the maximum opcode in an
assertion.

Diff Detail

Event Timeline

jberdine requested review of this revision.Mar 13 2021, 4:41 AM
jberdine created this revision.
Herald added a project: Restricted Project. · View Herald TranscriptMar 13 2021, 4:41 AM

For reference, ninja check-all with this diff on my system passes all but 2 seemingly unrelated tests. (I don't know why it is complaining about macos SDK versions and -lSystem).

----------------------------------------------------------------------
Ran 126 tests in 3.332s

OK
[647/648] Running all regression tests
llvm-lit: /Users/jjb/sat/sledge/.llvm_build/sledge/bin/../../../llvm-project/llvm/utils/lit/lit/llvm/config.py:345: note: using clang: /Users/jjb/sat/sledge/.llvm_build/sledge/bin/clang
llvm-lit: /Users/jjb/sat/sledge/.llvm_build/sledge/bin/../../../llvm-project/llvm/utils/lit/lit/util.py:408: note: using SDKROOT: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk'
FAIL: LLVM-Unit :: Support/./SupportTests/HostTest.getMacOSHostVersion (3933 of 59895)
******************** TEST 'LLVM-Unit :: Support/./SupportTests/HostTest.getMacOSHostVersion' FAILED ********************
Note: Google Test filter = HostTest.getMacOSHostVersion
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from HostTest
[ RUN      ] HostTest.getMacOSHostVersion
/Users/jjb/sat/sledge/llvm-project/llvm/unittests/Support/Host.cpp:352: Failure
      Expected: std::tie(SystemMajor, SystemMinor)
      Which is: (@0x7ffeed1e7514 11, @0x7ffeed1e7510 2)
To be equal to: std::tie(HostMajor, HostMinor)
      Which is: (@0x7ffeed1e745c 11, @0x7ffeed1e7458 0)
[  FAILED  ] HostTest.getMacOSHostVersion (74 ms)
[----------] 1 test from HostTest (74 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (74 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] HostTest.getMacOSHostVersion

 1 FAILED TEST

********************
FAIL: LLVM :: tools/lto/hide-linkonce-odr.ll (59665 of 59895)
******************** TEST 'LLVM :: tools/lto/hide-linkonce-odr.ll' FAILED ********************
Script:
--
: 'RUN: at line 1';   /Users/jjb/sat/sledge/.llvm_build/sledge/bin/llvm-as /Users/jjb/sat/sledge/llvm-project/llvm/test/tools/lto/hide-linkonce-odr.ll -o /Users/jjb/sat/sledge/.llvm_build/sledge/test/tools/lto/Output/hide-linkonce-odr.ll.tmp.o
: 'RUN: at line 2';   /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -lto_library /Users/jjb/sat/sledge/.llvm_build/sledge/test/../lib/libLTO.dylib -dylib -arch x86_64 -macosx_version_min 10.10.0 -lSystem -o /Users/jjb/sat/sledge/.llvm_build/sledge/test/tools/lto/Output/hide-linkonce-odr.ll.tmp.dylib /Users/jjb/sat/sledge/.llvm_build/sledge/test/tools/lto/Output/hide-linkonce-odr.ll.tmp.o -save-temps  -undefined dynamic_lookup -exported_symbol _c -exported_symbol _b  -exported_symbol _GlobLinkonce
: 'RUN: at line 4';   /Users/jjb/sat/sledge/.llvm_build/sledge/bin/llvm-dis /Users/jjb/sat/sledge/.llvm_build/sledge/test/tools/lto/Output/hide-linkonce-odr.ll.tmp.dylib.lto.opt.bc -o - | /Users/jjb/sat/sledge/.llvm_build/sledge/bin/FileCheck --check-prefix=IR /Users/jjb/sat/sledge/llvm-project/llvm/test/tools/lto/hide-linkonce-odr.ll
: 'RUN: at line 10';   /Users/jjb/sat/sledge/.llvm_build/sledge/bin/llvm-nm /Users/jjb/sat/sledge/.llvm_build/sledge/test/tools/lto/Output/hide-linkonce-odr.ll.tmp.dylib | /Users/jjb/sat/sledge/.llvm_build/sledge/bin/FileCheck --check-prefix=NM /Users/jjb/sat/sledge/llvm-project/llvm/test/tools/lto/hide-linkonce-odr.ll
--
Exit Code: 1

Command Output (stderr):
--
ld: library not found for -lSystem

--

********************
********************
Failed Tests (2):
  LLVM-Unit :: Support/./SupportTests/HostTest.getMacOSHostVersion
  LLVM :: tools/lto/hide-linkonce-odr.ll


Testing Time: 657.96s
  Unsupported      : 17244
  Passed           : 42565
  Expectedly Failed:    84
  Failed           :     2
FAILED: CMakeFiles/check-all
vaivaswatha accepted this revision.Mar 14 2021, 1:06 AM
This revision is now accepted and ready to land.Mar 14 2021, 1:06 AM
jberdine updated this revision to Diff 330817.Mar 15 2021, 2:50 PM

add X86_amx type and rebase

ninja check-llvm-bindings-ocaml passes (when rebased on top of D98593)

jberdine updated this revision to Diff 330956.Mar 16 2021, 5:41 AM

appease clang-format

This revision was landed with ongoing or failed builds.Mar 16 2021, 8:42 AM
This revision was automatically updated to reflect the committed changes.