Skip to content

Drop 32-bit support#232

Open
eparshut wants to merge 12 commits into
intel:masterfrom
eparshut:32bits
Open

Drop 32-bit support#232
eparshut wants to merge 12 commits into
intel:masterfrom
eparshut:32bits

Conversation

@eparshut
Copy link
Copy Markdown
Contributor

@eparshut eparshut commented Jun 3, 2026

Remove 32-bit build support and related dead code across the repository:

  • Remove --force_bits arg and 32-bit build loop from buildall.py and modernize script's code
  • Remove FORCE_32 CMake option, -m32 flags
  • Delete ittptmark32.S/ittptmark32.asm source files
  • Remove ITT_ARCH_IA32 define, i386/_M_IX86 detection, and dead CDECL/STDCALL branches from headers
  • Simplify LIB_VAR_NAME : use only INTEL_LIBITTNOTIFY64/INTEL_JIT_PROFILER64 env vars
  • Remove 32-bit branches in advisor-annotate.h, AdvisorAnnotate.cs, advisor_annotate.f90
  • GitHub Actions: add msvc-dev-cmd for Windows ninja builds and bump setup-fortran version
  • Cleanup documentation

@eparshut eparshut requested review from a team and Copilot June 3, 2026 15:43
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR removes 32-bit build/runtime support across the ITT API repo, simplifying build scripts, build system options, bindings, and documentation to be 64-bit-only.

Changes:

  • Removed 32-bit build controls (CMake FORCE_32, -m32, buildall.py --force_bits) and deleted 32-bit ptmark assembly sources.
  • Simplified runtime environment variable handling to 64-bit-only (INTEL_LIBITTNOTIFY64, INTEL_JIT_PROFILER64) across C/C#/Fortran APIs and docs.
  • Updated CI workflows and documentation to reflect the new build directory layout and requirements.

Reviewed changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/ittnotify/jitprofiling.c Drops INTEL_JIT_PROFILER32 selection; uses 64-bit env var only.
src/ittnotify/ittptmark32.S Removes 32-bit PT mark implementation (deleted file).
src/ittnotify/ittptmark32.asm Removes 32-bit PT mark implementation for MASM (deleted file).
src/ittnotify/ittnotify_static.c Removes 32-bit/ARM32 env-var/path branching; defaults to 64-bit env var/path.
src/ittnotify/ittnotify_config.h Removes IA32 arch define/detection and related branches; bumps API version.
src/ittnotify_refcol/README.md Updates ref collector usage to only reference INTEL_LIBITTNOTIFY64.
README.md Updates build requirements/usage docs (CMake min version, removes --force_bits).
python/setup.py Removes 32-bit selection logic for ptmark and assembler; hardcodes 64-bit ptmark tooling.
include/legacy/ittnotify.h Removes non-Windows x86 cdecl/stdcall attribute branches.
include/jitprofiling.h Removes non-Windows x86 cdecl attribute branch.
include/ittnotify.h Removes non-Windows x86 cdecl/stdcall attribute branches.
include/fortran/advisor_annotate.f90 Removes 32-bit env var branch; uses INTEL_LIBITTNOTIFY64 only.
include/AdvisorAnnotate.cs Removes INTEL_LIBITTNOTIFY32 path selection; uses 64-bit env var only.
include/advisor-annotate.h Removes x86-only calling convention branch and 32-bit env var selection.
docs/src/using-jit-api.rst Updates build output path format to remove <target_bits> segment.
docs/src/ref_collector.rst Updates ref collector docs to only reference INTEL_LIBITTNOTIFY64.
docs/src/jit-api-support.rst Removes 32-bit env var documentation; describes 64-bit env var only.
docs/src/compile-and-link-with-itt-api.rst Updates build output paths and removes 32-bit env var instructions.
docs/src/build.rst Updates buildall usage/options to remove --force_bits and reflect current flags.
CMakeLists.txt Removes 32-bit force option/flags and always selects 64-bit ptmark sources for IPT support.
buildall.py Removes 32-bit build loop/flag; modernizes shell execution and build folder layout.
.github/workflows/release.yml Updates CI steps for 64-bit-only builds; adds MSVC dev cmd; bumps setup-fortran.
.github/workflows/main.yml Updates CI for new build folder layout; removes forced 64-bit flag; adds MSVC dev cmd.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread buildall.py
Comment thread CMakeLists.txt
Comment thread python/setup.py
Comment thread src/ittnotify/ittnotify_config.h
Comment thread docs/src/build.rst Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated 2 comments.

Comment thread src/ittnotify/ittnotify_config.h Outdated
Comment thread CMakeLists.txt Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated 1 comment.

Comment thread python/setup.py
…D fallback to avoid breaking downstream 32-bit builds
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants