llvm-project/llvm/lib
Martin Storsjo 9dafd6f6d9 Revert "[COFF] Use comdat shared constants for MinGW as well"
This reverts commit r337951.

While that kind of shared constant generally works fine in a MinGW
setting, it broke some cases of inline assembly that worked before:

$ cat const-asm.c
int MULH(int a, int b) {
    int rt, dummy;
    __asm__ (
        "imull %3"
        :"=d"(rt), "=a"(dummy)
        :"a"(a), "rm"(b)
    );
    return rt;
}
int func(int a) {
    return MULH(a, 1);
}
$ clang -target x86_64-win32-gnu -c const-asm.c -O2
const-asm.c:4:9: error: invalid variant '00000001'
        "imull %3"
        ^
<inline asm>:1:15: note: instantiated into assembly here
        imull __real@00000001(%rip)
                     ^

A similar error is produced for i686 as well. The same test with a
target of x86_64-win32-msvc or i686-win32-msvc works fine.

llvm-svn: 338018
2018-07-26 10:48:20 +00:00
..
Analysis [SCEV] Add [zs]ext{C,+,x} -> (D + [zs]ext{C-D,+,x})<nuw><nsw> transform 2018-07-25 18:01:41 +00:00
AsmParser [AsmParser] Fix inconsistent declaration parameter name 2018-07-12 02:03:53 +00:00
BinaryFormat [dwarfdump] Add pretty printer for accelerator table based on Atom. 2018-07-13 17:21:51 +00:00
Bitcode [ThinLTO] Only emit referenced type id records in index files 2018-07-19 22:25:56 +00:00
CodeGen Revert "[COFF] Use comdat shared constants for MinGW as well" 2018-07-26 10:48:20 +00:00
DebugInfo [DWARF v5] Don't report an error when the .debug_rnglists section is empty or non-existent. Fixes PR38297. 2018-07-26 01:12:41 +00:00
Demangle [demangler] call terminate() if allocation failed 2018-07-23 22:23:04 +00:00
ExecutionEngine Move JIT listener C binding fallbackks to ExecutionEngineBindings.cpp. 2018-07-25 15:04:57 +00:00
FuzzMutate [llvm-opt-fuzzer] Add irce to the fuzzing options 2018-03-20 11:32:13 +00:00
Fuzzer
IR [Dominators] Assert if there is modification to DelBB while it is awaiting deletion 2018-07-25 06:18:33 +00:00
IRReader LLParser: add an argument for overriding data layout and do not check alloca addr space 2018-01-30 22:32:39 +00:00
LTO [LTO] Handle __imp_ (dllimport) symbols consistently with lld 2018-07-23 22:33:57 +00:00
LineEditor
Linker [LTO] Fix linking with an alias defined using another alias. 2018-07-13 21:58:55 +00:00
MC Revert "[COFF] Use comdat shared constants for MinGW as well" 2018-07-26 10:48:20 +00:00
Object [llvm-objdump] Add dynamic section printing to private-headers option 2018-07-25 11:09:20 +00:00
ObjectYAML MC: Implement support for new .addrsig and .addrsig_sym directives. 2018-07-17 22:17:18 +00:00
Option Re-revert "[Option] Fix PR37006 prefix choice in findNearest" 2018-05-19 16:21:01 +00:00
Passes [ThinLTO] Enable ThinLTO WholeProgramDevirt and LowerTypeTests in new PM 2018-07-19 14:51:32 +00:00
ProfileData [NFC] Change sample profile format enum name SPF_Raw_Binary to SPF_Binary. 2018-06-12 05:53:49 +00:00
Support [AArch64] Armv8.2-A: add the crypto extensions 2018-07-26 07:13:59 +00:00
TableGen [TableGen] Add missing std::moves to fix build failure. 2018-07-11 08:57:56 +00:00
Target [x86/SLH] Extract the logic to trace predicate state through calls to 2018-07-26 09:42:57 +00:00
Testing [LLVMTestingSupport] Add explicit linkage to LLVMSupport 2018-04-08 06:49:17 +00:00
ToolDrivers Give llvm-lib rudimentary help output. 2018-07-14 02:29:44 +00:00
Transforms [LoadStoreVectorizer] Use const reference 2018-07-26 01:11:36 +00:00
WindowsManifest Convert line endings of lib/WindowsManifest/CMakeLists.txt to unix. 2018-04-07 04:28:08 +00:00
XRay [XRay][compiler-rt] Add PID field to llvm-xray tool and add PID metadata record entry in FDR mode 2018-07-13 05:38:22 +00:00
CMakeLists.txt
LLVMBuild.txt