Skip to content

Commit

Permalink
WIP: shrink LLVM
Browse files Browse the repository at this point in the history
Signed-off-by: Matthias Aßhauer <mha1993@live.de>
  • Loading branch information
rimrul committed Apr 23, 2023
1 parent 2a1de13 commit 79380ea
Show file tree
Hide file tree
Showing 27 changed files with 504 additions and 1,111 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,14 @@ diff --git a/cmake/modules/GetHostTriple.cmake b/cmake/modules/GetHostTriple.cma
index 0cad1db4eff..47e9f986e15 100644
--- a/cmake/modules/GetHostTriple.cmake
+++ b/cmake/modules/GetHostTriple.cmake
@@ -8,11 +8,11 @@ function( get_host_triple var )
@@ -16,7 +16,7 @@
else()
set( value "i686-pc-win32" )
set( value "i686-pc-windows-msvc" )
endif()
- elseif( MINGW AND NOT MSYS )
+ elseif( MINGW )
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set( value "x86_64-w64-mingw32" )
else()
- set( value "i686-pc-mingw32" )
+ set( value "i686-w64-mingw32" )
endif()
else( MSVC )
set(config_guess ${LLVM_MAIN_SRC_DIR}/cmake/config.guess)
--
# CMake doesn't provide COMPILER_ARCHITECTURE_ID for Clang/GCC,
# but it does for MSVC.
if( CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "ARM.*" )
2.13.3

36 changes: 0 additions & 36 deletions mingw-w64-clang/0001-mingw-w64-use-MSVC-style-ByteAlignment.patch

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
--- a/cmake/modules/LLVMInstallSymlink.cmake
+++ b/cmake/modules/LLVMInstallSymlink.cmake
@@ -6,6 +6,12 @@

function(install_symlink name target outdir)
set(DESTDIR $ENV{DESTDIR})
+ if(CMAKE_HOST_UNIX)
+ set(LINK_OR_COPY create_symlink)
+ else()
+ set(LINK_OR_COPY copy)
+ endif()
+
if(NOT IS_ABSOLUTE "${outdir}")
set(outdir "${CMAKE_INSTALL_PREFIX}/${outdir}")
endif()
@@ -14,12 +20,7 @@
message(STATUS "Creating ${name}")

execute_process(
- COMMAND "${CMAKE_COMMAND}" -E create_symlink "${target}" "${name}"
- WORKING_DIRECTORY "${outdir}" ERROR_VARIABLE has_err)
- if(CMAKE_HOST_WIN32 AND has_err)
- execute_process(
- COMMAND "${CMAKE_COMMAND}" -E copy "${target}" "${name}"
- WORKING_DIRECTORY "${outdir}")
- endif()
+ COMMAND "${CMAKE_COMMAND}" -E ${LINK_OR_COPY} "${target}" "${name}"
+ WORKING_DIRECTORY "${outdir}")

endfunction()

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt
index 0a8e3897cce..de9cda5dda3 100644
--- a/lib/Support/CMakeLists.txt
+++ b/lib/Support/CMakeLists.txt
@@ -2,6 +2,9 @@ set(system_libs)
if( MSVC OR MINGW )
@@ -6,6 +6,9 @@ set(system_libs)
# libuuid required for FOLDERID_Profile usage in lib/Support/Windows/Path.inc.
set(system_libs ${system_libs} psapi shell32 ole32 uuid)
# advapi32 required for CryptAcquireContextW in lib/Support/Windows/Path.inc.
set(system_libs ${system_libs} psapi shell32 ole32 uuid advapi32)
+ if( MINGW )
+ set(system_libs ${system_libs} pthread)
+ endif()
Expand Down
11 changes: 11 additions & 0 deletions mingw-w64-clang/0004-enable-emutls-for-mingw.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- a/include/llvm/TargetParser/Triple.h
+++ b/include/llvm/TargetParser/Triple.h
@@ -952,7 +952,7 @@

/// Tests whether the target uses emulated TLS as default.
bool hasDefaultEmulatedTLS() const {
- return isAndroid() || isOSOpenBSD() || isWindowsCygwinEnvironment();
+ return isAndroid() || isOSOpenBSD() || isOSCygMing();
}

/// Tests whether the target uses -data-sections as default.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- a/include/llvm/ADT/Any.h
+++ b/include/llvm/ADT/Any.h
@@ -124,7 +124,7 @@
std::unique_ptr<StorageBase> Storage;
};

-template <typename T> char Any::TypeId<T>::Id = 0;
+template <typename T> char Any::TypeId<T>::Id = 1;

template <typename T>
LLVM_DEPRECATED("Use any_cast(Any*) != nullptr instead", "any_cast")
9 changes: 0 additions & 9 deletions mingw-w64-clang/0006-fix-bugpoint-multiple-definition.patch

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ diff --git a/lib/Driver/ToolChains/MinGW.cpp b/lib/Driver/ToolChains/MinGW.cpp
index 632b76d92b..23da2d6376 100644
--- a/lib/Driver/ToolChains/MinGW.cpp
+++ b/lib/Driver/ToolChains/MinGW.cpp
@@ -215,7 +215,7 @@ void tools::MinGW::Linker::ConstructJob(Compilation &C, const JobAction &JA,
@@ -265,7 +265,7 @@
if (Args.hasArg(options::OPT_pg))
CmdArgs.push_back("-lgmon");

- if (Args.hasArg(options::OPT_pthread))
+ if (!Args.hasArg(options::OPT_no_pthread))
CmdArgs.push_back("-lpthread");

// add system libraries
if (Sanitize.needsAsanRt()) {
--
2.14.1

Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
Index: clang/include/clang/Driver/Options.td
===================================================================
--- clang/include/clang/Driver/Options.td
+++ clang/include/clang/Driver/Options.td
@@ -5076,9 +5076,6 @@
// FLangOption + NoXarchOption
//===----------------------------------------------------------------------===//

-def flang_experimental_exec : Flag<["-"], "flang-experimental-exec">,
- Flags<[FlangOption, FlangOnlyOption, NoXarchOption, HelpHidden]>,
- HelpText<"Enable support for generating executables (experimental)">;

def flang_experimental_hlfir : Flag<["-"], "flang-experimental-hlfir">,
Flags<[FlangOption, FC1Option, FlangOnlyOption, NoXarchOption, HelpHidden]>,
Index: clang/lib/Driver/Driver.cpp
===================================================================
--- clang/lib/Driver/Driver.cpp
+++ clang/lib/Driver/Driver.cpp
@@ -1936,7 +1936,7 @@

void Driver::PrintVersion(const Compilation &C, raw_ostream &OS) const {
if (IsFlangMode()) {
- OS << getClangToolFullVersion("flang-new") << '\n';
+ OS << getClangToolFullVersion("flang") << '\n';
} else {
// FIXME: The following handlers should use a callback mechanism, we don't
// know what the client would like to do.
Index: clang/lib/Driver/ToolChains/CommonArgs.cpp
===================================================================
--- clang/lib/Driver/ToolChains/CommonArgs.cpp
+++ clang/lib/Driver/ToolChains/CommonArgs.cpp
@@ -886,12 +886,6 @@
void tools::addFortranRuntimeLibraryPath(const ToolChain &TC,
const llvm::opt::ArgList &Args,
ArgStringList &CmdArgs) {
- // NOTE: Generating executables by Flang is considered an "experimental"
- // feature and hence this is guarded with a command line option.
- // TODO: Make this work unconditionally once Flang is mature enough.
- if (!Args.hasArg(options::OPT_flang_experimental_exec))
- return;
-
// Default to the <driver-path>/../lib directory. This works fine on the
// platforms that we have tested so far. We will probably have to re-fine
// this in the future. In particular, on some platforms, we may need to use
Index: clang/lib/Driver/ToolChains/Flang.cpp
===================================================================
--- clang/lib/Driver/ToolChains/Flang.cpp
+++ clang/lib/Driver/ToolChains/Flang.cpp
@@ -409,14 +409,12 @@

CmdArgs.push_back(Input.getFilename());

- // TODO: Replace flang-new with flang once the new driver replaces the
- // throwaway driver
- const char *Exec = Args.MakeArgString(D.GetProgramPath("flang-new", TC));
+ const char *Exec = Args.MakeArgString(D.GetProgramPath("flang", TC));
C.addCommand(std::make_unique<Command>(JA, *this,
ResponseFileSupport::AtFileUTF8(),
Exec, CmdArgs, Inputs, Output));
}

-Flang::Flang(const ToolChain &TC) : Tool("flang-new", "flang frontend", TC) {}
+Flang::Flang(const ToolChain &TC) : Tool("flang", "flang frontend", TC) {}

Flang::~Flang() {}
25 changes: 0 additions & 25 deletions mingw-w64-clang/0102-fix-libclang-name-for-mingw.patch

This file was deleted.

This file was deleted.

Loading

0 comments on commit 79380ea

Please sign in to comment.