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

Pull 2019-08-01T15-45 Recent NVIDIA Changes #770

Merged
merged 1 commit into from Aug 1, 2019

Conversation

@gklimowicz
Copy link
Contributor

commented Aug 1, 2019

Add support for libpgmath Windows and OSX builds with clang.

Majority of CmakeLists.txt and lit*.cfg* changes attributable
to PR#719: #719

  1. Differentiate between CMAKE_SYSTEM_PROCESSOR and
    LIBPGMATH_SYSTEM_PROCESSOR throughout libpgmath configuration
    scripts.

  2. Windows version of CMAKE_SYSTEM_PROCESSOR is defined as "AMD64".
    If building for Windows, set LIBPGMATH_SYSTEM_PROCESSOR to "x86_64".
    This eliminates any need for most conditional logic that applies
    to both Linux and Windows Intel 64 source/object files.

  3. Cleanup various L1 and L2 definitions (C preprocessor -D)
    eliminating duplicates.

  4. Special case building of DLL in runtime/libpgmath/lib/CMakeLists.txt
    for the MSYS environment.

  5. To support Window's unique complex variable declarations of
    _Fcomplex and _Dcomplex, globally change declarations of the form:
    float _Complex f
    double _Complex d
    to:
    float_complex_t
    double_complex_t

  6. Introduce two forms of complex variable assignment:
    a) float/double static/constants use the CPP function macro
    PGMATH_CMPLX_CONST
    b) Complex variables composed of real and imaginary variables
    (not constants) use:
    float_complex_t pgmath_cmplxf(float, float);
    double_complex_t pgmath_cmplx(double, double);

  7. runtime/libpgmath/lib/CMakeLists.txt
    Windows: only build static version of libpgmath.

Add support for libpgmath Windows and OSX builds with clang.
Majority of CmakeLists.txt and lit*.cfg* changes attributable
to PR#719: #719

1) Differentiate between CMAKE_SYSTEM_PROCESSOR and
   LIBPGMATH_SYSTEM_PROCESSOR throughout libpgmath configuration
   scripts.

2) Windows version of CMAKE_SYSTEM_PROCESSOR is defined as "AMD64".
   If building for Windows, set LIBPGMATH_SYSTEM_PROCESSOR to "x86_64".
   This eliminates any need for most conditional logic that applies
   to both Linux and Windows Intel 64 source/object files.

3) Cleanup various L1 and L2 definitions (C preprocessor -D<def>)
   eliminating duplicates.

4) Special case building of DLL in runtime/libpgmath/lib/CMakeLists.txt
   for the MSYS environment.

5) To support Window's unique complex variable declarations of
   _Fcomplex and _Dcomplex, globally change declarations of the form:
	float _Complex f
	double _Complex d
   to:
	float_complex_t
	double_complex_t

6) Introduce two forms of complex variable assignment:
   a) float/double static/constants use the CPP function macro
      PGMATH_CMPLX_CONST
   b) Complex variables composed of real and imaginary variables
      (not constants) use:
      float_complex_t pgmath_cmplxf(float, float);
      double_complex_t pgmath_cmplx(double, double);

7) runtime/libpgmath/lib/CMakeLists.txt
   Windows: only build static version of libpgmath.

@sscalpone sscalpone merged commit 7ab2da7 into flang-compiler:master Aug 1, 2019

@sscalpone sscalpone deleted the ThePortlandGroup:nv_stage branch Aug 1, 2019

@@ -117,3 +122,11 @@ include(LibmathUtils)
# Setup Source Code And Tests
add_subdirectory(lib)
add_subdirectory(test)

if(0)

This comment has been minimized.

Copy link
@cbezault

cbezault Aug 5, 2019

Is this left-over debugging code?

This comment has been minimized.

Copy link
@gklimowicz

gklimowicz Aug 5, 2019

Author Contributor

Yes, the developer here wanted to leave it in for the time being.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.