OSDN Git Service

android-x86/external-llvm.git
4 years agoDO NOT MERGE: android: translate Android.mk build rules for libLLVM80
Mauro Rossi [Fri, 15 Feb 2019 00:06:04 +0000 (01:06 +0100)]
DO NOT MERGE: android: translate Android.mk build rules for libLLVM80

These changes are applied to build external/llvm80 project
and avoid conflicts with external/llvm project
Changes in mesa main Android.mk are required for libLLVM80
shared library dependency and cflag -DHAVE_LLVM=0x0800

The changelog is described by means of modules and variables
which needed to be renamed:

 #rename LLVM70 to LLVM80
find . -type f -name "*.mk" -exec sed -i 's/LLVM70/LLVM80/g' {} +

 #rename llvm70 to llvm80
find . -type f -name "*.mk" -exec sed -i 's/llvm70/llvm80/g' {} +

 #rename out70 to out80
find . -type f -name "*.mk" -exec sed -i 's/out70/out80/g' {} +

 #rename TBLGEN_TABLES70 to TBLGEN_TABLES80
find . -type f -name "*.mk" -exec sed -i 's/TBLGEN_TABLES70/TBLGEN_TABLES80/g' {} +

 #rename ATTRIBUTETD70 to ATTRIBUTETD80
find . -type f -name "*.mk" -exec sed -i 's/ATTRIBUTETD70/ATTRIBUTETD80/g' {} +

 #rename INTRINSICTD70 to INTRINSICTD80
find . -type f -name "*.mk" -exec sed -i 's/INTRINSICTD70/INTRINSICTD80/g' {} +

 #rename TBLGEN_TD_DIR70 to TBLGEN_TD_DIR80
find . -type f -name "*.mk" -exec sed -i 's/TBLGEN_TD_DIR70/TBLGEN_TD_DIR80/g' {} +

 #rename CLEAR_TBLGEN_VARS70 to CLEAR_TBLGEN_VARS80
find . -type f -name "*.mk" -exec sed -i 's/CLEAR_TBLGEN_VARS70/CLEAR_TBLGEN_VARS80/g' {} +

4 years agoandroid: [Transforms][Vectorize] update cpp sources
Mauro Rossi [Tue, 19 Feb 2019 05:21:39 +0000 (06:21 +0100)]
android: [Transforms][Vectorize] update cpp sources

Porting of following commits:

b838c5c3 [VPlan] Add VPInstruction to VPRecipe transformation.
5d6a2d85 [VPlan, SLP] Add simple SLP analysis on top of VPlan.

4 years agoandroid: [MC][MCParser] update cpp sources
Mauro Rossi [Tue, 19 Feb 2019 05:14:14 +0000 (06:14 +0100)]
android: [MC][MCParser] update cpp sources

Porting of commit:

c9db589 ("[WebAssembly] Added WasmAsmParser.")

4 years agoandroid: [CodeGen][AsmPrinter] update cpp sources
Mauro Rossi [Tue, 19 Feb 2019 05:12:42 +0000 (06:12 +0100)]
android: [CodeGen][AsmPrinter] update cpp sources

Porting of following commits:

adb0f66 [DebugInfo] Generate DWARF debug information for labels. (Fix leak problems)
2fa550c [WebAssembly] LSDA info generation

4 years agoandroid: [CodeGen][GlobalISel] update cpp sources
Mauro Rossi [Thu, 14 Feb 2019 23:11:15 +0000 (00:11 +0100)]
android: [CodeGen][GlobalISel] update cpp sources

Porting of following commits:

a935926 ("[globalisel][combiner] Make the CombinerChangeObserver a MachineFunction::Delegate")
66f2370 ("[GISel]: Add support for CSEing continuously during GISel passes.")

4 years agoandroid: [IR] update cpp sources
Mauro Rossi [Tue, 19 Feb 2019 05:11:12 +0000 (06:11 +0100)]
android: [IR] update cpp sources

Porting of following commits:

9f6be22 ("[NFC][PassTiming] factor out generic PassTimingInfo")
e6959a6 ("[New PM] Introducing PassInstrumentation framework")

4 years agoandroid: [DebugInfo][CodeView] update cpp sources
Mauro Rossi [Thu, 14 Feb 2019 22:55:54 +0000 (23:55 +0100)]
android: [DebugInfo][CodeView] update cpp sources

Porting of following commits:

9b6c494 ("[PDB] Add native reading support for UDT / class types.")
a6cf7e3 ("[PDB] Move some code around. NFC.")

4 years agoandroid: [CodeGen] Add pass to combine interleaved loads.
Mauro Rossi [Thu, 14 Feb 2019 22:34:13 +0000 (23:34 +0100)]
android: [CodeGen] Add pass to combine interleaved loads.

Porting of commit:

5e067bb ("Subject: [PATCH] [CodeGen] Add pass to combine interleaved loads.")

4 years agoandroid: [X86] Support for inserting profile-directed cache prefetches
Mauro Rossi [Thu, 14 Feb 2019 22:29:13 +0000 (23:29 +0100)]
android: [X86] Support for inserting profile-directed cache prefetches

Porting of commit:

241ac1b ("Support for inserting profile-directed cache prefetches")

4 years agoandroid: add exegesis tblgen rules
Mauro Rossi [Wed, 13 Feb 2019 22:34:57 +0000 (23:34 +0100)]
android: add exegesis tblgen rules

4 years agoandroid: [Transform][Utils] update cpp sources
Mauro Rossi [Fri, 15 Feb 2019 00:01:05 +0000 (01:01 +0100)]
android: [Transform][Utils] update cpp sources

Porting of following commits:

bc569e6 ("[NFC] Factor out implicit control flow logic from GVN")
4b12e2f ("[NFC] Split logic of ImplicitControlFlowTracking to allow generalization")
fe980e2 ("[NFC] Factor out guard utility methods into a separate file")
3a86455 ("[NFC] Move OrderedInstructions and InstructionPrecedenceTracking to Analysis")
1f63024 ("[ThinLTO] Handle chains of aliases")

4 years agoandroid: [Debuginfo][PDB] update cpp sources
Mauro Rossi [Thu, 14 Feb 2019 23:59:06 +0000 (00:59 +0100)]
android: [Debuginfo][PDB] update cpp sources

Porting of following commits:

2d30fac ("Enable llvm-pdbutil to list enumerations using native PDB reader")
7428f45 ("[PDB] Create a SymbolCache class.")
6d1036d ("[PDB] Rename some files in the native reader.")
25ccaa7 ("[PDB] Support pointer types in the native reader.")
8d5fd87 ("[PDB] Make the native reader support enumerators.")
9b6c494 ("[PDB] Add native reading support for UDT / class types.")
2adab77 ("[NativePDB] Add support for reading function signatures.")
e1b020a ("[PDB] Add native support for dumping array types.")
a93560b ("[PDB] Add support for parsing VFTable Shape records.")
b478109 ("[PDB] Add support for dumping Typedef records.")

4 years agoandroid: [Transforms][Scalar] update cpp sources
Mauro Rossi [Wed, 13 Feb 2019 20:37:13 +0000 (21:37 +0100)]
android: [Transforms][Scalar] update cpp sources

Porting of following commits:

c05ba54 ("Introduce llvm.experimental.widenable_condition intrinsic")
9a395de ("[Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes.")

4 years agoandroid: [PGO] Control Height Reduction
Mauro Rossi [Wed, 13 Feb 2019 20:31:02 +0000 (21:31 +0100)]
android: [PGO] Control Height Reduction

Porting of commit:

c38c850 ("[PGO] Control Height Reduction")

4 years agoandroid: [Transforms][IPO] Hot cold splitting pass
Mauro Rossi [Wed, 13 Feb 2019 20:26:47 +0000 (21:26 +0100)]
android: [Transforms][IPO] Hot cold splitting pass

Porting of commit:

55883c9 ("Hot cold splitting pass")

4 years agoandroid: [Support] update cpp sources
Mauro Rossi [Wed, 13 Feb 2019 20:17:55 +0000 (21:17 +0100)]
android: [Support] update cpp sources

Porting of following commits:

802e2f3 ("Move VersionTuple from clang/Basic to llvm/Support")
5718b6f ("Refactor FileCheck to make it usable as an API")
a5beadf ("Add data structure to form equivalence classes of mangled names.")
9d93ec6 ("Common infrastructure for reading a profile remapping file and building")
7651154 ("Lift VFS from clang to llvm (NFC)")
52809cd ("Move BuryPointer from Clang to LLVM for use in other LLVM tools")
1fff169 ("[ARM, AArch64] Move ARM/AArch64 target parsers into..")

4 years agoandroid: [AArch64] add AArch64GenExegesis.inc tblgen target
Mauro Rossi [Wed, 13 Feb 2019 19:56:03 +0000 (20:56 +0100)]
android: [AArch64] add AArch64GenExegesis.inc tblgen target

Partial porting for AArch64 of commit:
b4abfc2 ("[llvm-exegesis][NFC] Add a way to declare the default counter...")

4 years agoandroid: [AArch64] update cpp sources
Mauro Rossi [Wed, 13 Feb 2019 19:46:08 +0000 (20:46 +0100)]
android: [AArch64] update cpp sources

Porting of following commits:

5a81c73 ("Re-commit: [globalisel] Add a combiner helpers for extending...")
4bc8102 ("[AArch64][v8.5A] Branch Target Identification code-generation pass")
55134c6 ("AArch64: add a pass to compress jump-table entries when possible.")
21db422 ("Introduce control flow speculation tracking pass for AArch64")

4 years agoandroid: [Analysis] update cpp sources
Mauro Rossi [Tue, 19 Feb 2019 05:30:51 +0000 (06:30 +0100)]
android: [Analysis] update cpp sources

Porting of following commits:

187d918 (Re-enable "[NFC] Unify guards detection")
3a86455 ("[NFC] Move OrderedInstructions and InstructionPrecedenceTracking to Analysis")
b33a403 ("[NFC] Rename the DivergenceAnalysis to LegacyDivergenceAnalysis")
479b4ab ("Break LoopUtils into an Analysis file.")
981ceb8 ("[DA] DivergenceAnalysis for unstructured, reducible CFGs")
c29e36f ("[stack-safety] Empty local passes for Stack Safety Local Analysis")

4 years agoandroid: [BinaryFormat] update cpp sources
Mauro Rossi [Sun, 10 Feb 2019 17:41:19 +0000 (18:41 +0100)]
android: [BinaryFormat] update cpp sources

Porting of the following commits:

8b3c688 ("[BinaryFormat] Add MessagePack reader/writer")
706911a ("[BinaryFormat] Add MsgPackTypes)
8ae3c1c ("[AMDGPU] Emit MessagePack HSA Metadata for v3 code object")

4 years agoandroid: [AMDGPU] update cpp sources
Mauro Rossi [Sun, 10 Feb 2019 17:33:56 +0000 (18:33 +0100)]
android: [AMDGPU] update cpp sources

Porting of the following commits:

b461f4d ("[AMDGPU] Add an AMDGPU specific atomic optimizer.")
92794ee ("[AMDGPU] Add a pass to promote bitcast calls")
322a807 ("[AMDGPU] Add FixupVectorISel pass, currently Supports SREGs in GLOBAL LD/ST")
d339265 ("[AMDGPU] Combine DPP mov with use instructions (VOP1/2/3)")
c9d081f ("[AMDGPU] Add new Mode Register pass")
1da08e2 ("[AMDGPU] Add support for TFE/LWE in image intrinsics. 2nd try")

4 years agoandroid: [X86] condition branches folding for three-way conditional codes
Mauro Rossi [Sun, 10 Feb 2019 16:45:17 +0000 (17:45 +0100)]
android: [X86] condition branches folding for three-way conditional codes

Porting of commit fa7848b1a02f2b36fc12786bbffd1c8a68866ca2
("[X86] condition branches folding for three-way conditional codes")

4 years agoandroid: additional build fixes
Mauro Rossi [Wed, 6 Feb 2019 22:48:16 +0000 (23:48 +0100)]
android: additional build fixes

4 years agoandroid: config.h: Add option to disable minidumps, default it to off
Mauro Rossi [Sun, 3 Feb 2019 08:16:44 +0000 (09:16 +0100)]
android: config.h: Add option to disable minidumps, default it to off

Porting of commit
7e4b0fae ("Add cmake option to disable minidumps, default it to off")

plus some other options that are to be set on (1) or off (0)

Fixes the following building error:

external/llvm80/lib/Support/Process.cpp:88:35:
error: use of undeclared identifier 'LLVM_ENABLE_CRASH_DUMPS'
static bool coreFilesPrevented = !LLVM_ENABLE_CRASH_DUMPS;
                                  ^
1 error generated.

4 years agoandroid: update version in {config,llvm-config}.h headers
Mauro Rossi [Sun, 3 Feb 2019 07:28:46 +0000 (08:28 +0100)]
android: update version in {config,llvm-config}.h headers

Version information is set to 8.0.0

4 years agoandroid: fix changed sources in makefiles
Mauro Rossi [Wed, 6 Feb 2019 20:55:53 +0000 (21:55 +0100)]
android: fix changed sources in makefiles

4 years agoandroid: [DWARF] Support for .debug_addr (consumer)
Mauro Rossi [Fri, 3 Aug 2018 11:16:19 +0000 (13:16 +0200)]
android: [DWARF] Support for .debug_addr (consumer)

Reference: 9a8677d ("[DWARF] Support for .debug_addr (consumer)")

4 years agoandroid: [AArch64][SVE] Asm: Add MOVPRFX instructions.
Mauro Rossi [Fri, 3 Aug 2018 07:09:24 +0000 (09:09 +0200)]
android: [AArch64][SVE] Asm: Add MOVPRFX instructions.

Fix of Attributes and Intrinsicts depedencies related to commit
c80d03aba54 ("[AArch64][SVE] Asm: Add MOVPRFX instructions.")

Corrects the following building errors:

host C++: libLLVM70AArch64AsmParser_32 <= external/llvm70/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
...
In file included from external/llvm70/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp:14:
In file included from external/llvm70/lib/Target/AArch64/AsmParser/../AArch64InstrInfo.h:18:
In file included from external/llvm70/lib/Target/AArch64/AsmParser/../AArch64RegisterInfo.h:18:
In file included from out/host/linux-x86/obj32/STATIC_LIBRARIES/libLLVM70AArch64AsmParser_intermediates/AArch64GenRegisterInfo.inc:4971:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/CodeGen/TargetRegisterInfo.h:23:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/CodeGen/MachineBasicBlock.h:22:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/CodeGen/MachineInstr.h:23:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/Analysis/AliasAnalysis.h:44:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/Analysis/MemoryLocation.h:21:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/IR/CallSite.h:32:
external/llvm70/lib/Transforms/Hello/../../../include/llvm/IR/Attributes.h:74:14: fatal error: 'llvm/IR/Attributes.inc' file not found
    #include "llvm/IR/Attributes.inc"
             ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

host C++: libLLVM70AArch64AsmParser_32 <= ex...ernal/llvm70/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
...
In file included from external/llvm70/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp:14:
In file included from external/llvm70/lib/Target/AArch64/AsmParser/../AArch64InstrInfo.h:18:
In file included from external/llvm70/lib/Target/AArch64/AsmParser/../AArch64RegisterInfo.h:18:
In file included from out/host/linux-x86/obj32/STATIC_LIBRARIES/libLLVM70AArch64AsmParser_intermediates/AArch64GenRegisterInfo.inc:4971:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/CodeGen/TargetRegisterInfo.h:23:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/CodeGen/MachineBasicBlock.h:22:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/CodeGen/MachineInstr.h:23:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/Analysis/AliasAnalysis.h:44:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/Analysis/MemoryLocation.h:21:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/IR/CallSite.h:32:
external/llvm70/lib/Transforms/Hello/../../../include/llvm/IR/Attributes.h:74:14: fatal error: 'llvm/IR/Attributes.inc' file not found
    #include "llvm/IR/Attributes.inc"
             ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

4 years agoandroid: [DWARF v5] Refactor range lists dumping...
Mauro Rossi [Thu, 26 Jul 2018 01:03:17 +0000 (03:03 +0200)]
android: [DWARF v5] Refactor range lists dumping...

Reference:
3e597f4 ("[DWARF v5] Refactor range lists dumping...")

4 years agoandroid: [ARM] ARMCodeGenPrepare backend pass
Mauro Rossi [Mon, 23 Jul 2018 21:58:17 +0000 (23:58 +0200)]
android: [ARM] ARMCodeGenPrepare backend pass

Reference: 942fbb2 ("[ARM] ARMCodeGenPrepare backend pass")

4 years agoandroid: [SLH] Introduce a new pass to do Speculative Load Hardening to mitigate
Mauro Rossi [Sat, 14 Jul 2018 09:48:03 +0000 (11:48 +0200)]
android: [SLH] Introduce a new pass to do Speculative Load Hardening to mitigate

Reference:
bd8c8d7 ("[SLH] Introduce a new pass to do Speculative Load Hardening to mitigate")

4 years agoandroid: Lift JSON library from clang-tools-extra/clangd to llvm/Support.
Mauro Rossi [Sat, 14 Jul 2018 09:27:03 +0000 (11:27 +0200)]
android: Lift JSON library from clang-tools-extra/clangd to llvm/Support.

Reference:
5070d36 ("Lift JSON library from clang-tools-extra/clangd to llvm/Support.")

4 years agoandroid: [TableGen] Add a general-purpose JSON backend.
Mauro Rossi [Sat, 14 Jul 2018 09:12:53 +0000 (11:12 +0200)]
android: [TableGen] Add a general-purpose JSON backend.

Reference: 9cfd4e5 ("[TableGen] Add a general-purpose JSON backend.")

4 years agoandroid: [Dominators] Add the DomTreeUpdater class
Mauro Rossi [Wed, 11 Jul 2018 07:06:46 +0000 (09:06 +0200)]
android: [Dominators] Add the DomTreeUpdater class

Reference:
bf4ec2b ("[Dominators] Add the DomTreeUpdater class")
57fa5c9 (Reappl "[Dominators] Add the DomTreeUpdater class")

4 years agoandroid: [AMDGPU] Fix layering issue with AMDGPUHSAMetadataStreamer (NFC)
Mauro Rossi [Wed, 11 Jul 2018 06:27:53 +0000 (08:27 +0200)]
android: [AMDGPU] Fix layering issue with AMDGPUHSAMetadataStreamer (NFC)

Fixes: 47362da ("[AMDGPU] Fix layering issue with AMDGPUHSAMetadataStreamer (NFC)")

4 years agoDO NOT MERGE: all-in-one build fixes
Mauro Rossi [Fri, 6 Jul 2018 00:03:23 +0000 (02:03 +0200)]
DO NOT MERGE: all-in-one build fixes

4 years agoDO NOT MERGE: tweaks to build oreo-x86
Mauro Rossi [Wed, 3 Jan 2018 22:54:02 +0000 (23:54 +0100)]
DO NOT MERGE: tweaks to build oreo-x86

Needed to avoid following Android build system errors:

external/llvm70/shared_llvm.mk: error: libLLVM70 (SHARED_LIBRARIES windows-x86) missing libLLVM70GlobalISel (STATIC_LIBRARIES windows-x86)
Available variants:
  libLLVM70GlobalISel (STATIC_LIBRARIES linux-x86_64)
  libLLVM70GlobalISel (STATIC_LIBRARIES linux-x86)
...
external/llvm70/shared_llvm.mk: error: libLLVM70 (SHARED_LIBRARIES windows-x86_64) missing libLLVM70GlobalISel (STATIC_LIBRARIES windows-x86_64)
Available variants:
  libLLVM50GlobalISel (STATIC_LIBRARIES linux-x86_64)
  libLLVM50GlobalISel (STATIC_LIBRARIES linux-x86)

4 years agoandroid: fix Mips target build
Mauro Rossi [Sun, 10 Jun 2018 20:38:51 +0000 (22:38 +0200)]
android: fix Mips target build

Source files and tblgen targets are updated for Mips target

4 years agoandroid: Target/Mips: fix Intrinsics dependencies
Mauro Rossi [Sun, 10 Jun 2018 20:38:51 +0000 (22:38 +0200)]
android: Target/Mips: fix Intrinsics dependencies

Needed to avoid following building errors:

In file included from external/llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp:16:
In file included from external/llvm/lib/Target/Mips/InstPrinter/../MipsInstrInfo.h:23:
In file included from external/llvm/lib/Target/Mips/InstPrinter/../MipsRegisterInfo.h:18:
In file included from external/llvm/lib/Transforms/Hello/../../../include/llvm/CodeGen/MachineBasicBlock.h:22:
In file included from external/llvm/lib/Transforms/Hello/../../../include/llvm/CodeGen/MachineInstr.h:24:
In file included from external/llvm/lib/Transforms/Hello/../../../include/llvm/CodeGen/MachineOperand.h:18:
external/llvm/lib/Transforms/Hello/../../../include/llvm/IR/Intrinsics.h:42:10: fatal error: 'llvm/IR/Intrinsics.inc' file not found
#include "llvm/IR/Intrinsics.inc"
         ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

In file included from external/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp:11:
In file included from external/llvm/lib/Transforms/Hello/../../../include/llvm/IR/Module.h:26:
In file included from external/llvm/lib/Transforms/Hello/../../../include/llvm/IR/Function.h:33:
external/llvm/lib/Transforms/Hello/../../../include/llvm/IR/Intrinsics.h:42:10: fatal error: 'llvm/IR/Intrinsics.gen' file not found
         ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

4 years agoandroid: Rename {Attributes,Intrinsics}.gen to {Attributes,Intrinsics}.inc
Mauro Rossi [Sat, 9 Jun 2018 15:27:33 +0000 (17:27 +0200)]
android: Rename {Attributes,Intrinsics}.gen to {Attributes,Intrinsics}.inc

Fix the following building errors:

In file included from external/llvm/lib/Linker/LinkModules.cpp:21:
In file included from external/llvm/include/llvm/IR/Module.h:23:
external/llvm/include/llvm/IR/Attributes.h:74:14: fatal error: 'llvm/IR/Attributes.inc' file not found
    #include "llvm/IR/Attributes.inc"
             ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
...
In file included from external/llvm/lib/Linker/IRMover.cpp:19:
external/llvm/include/llvm/IR/Intrinsics.h:42:10: fatal error: 'llvm/IR/Intrinsics.inc' file not found
         ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Reference:
ea0775ec4a ("Rename Attributes.gen, Intrinsics.gen to Attributes.inc, Intrinsics.inc")

4 years agoandroid: utils/Tablegen: update sources list
Mauro Rossi [Sat, 9 Jun 2018 15:01:46 +0000 (17:01 +0200)]
android: utils/Tablegen: update sources list

Fixes  building errors:

external/llvm/utils/TableGen/DisassemblerEmitter.cpp:133: error: undefined reference to 'llvm::emitWebAssemblyDisassemblerTables(llvm::raw_ostream&, llvm::ArrayRef<llvm::CodeGenInstruction const*> const&)'

external/llvm/utils/TableGen/InstrInfoEmitter.cpp:417: error: undefined reference to 'llvm::PredicateExpander::expandPredicate(llvm::formatted_raw_ostream&, llvm::Record const*)'
external/llvm/utils/TableGen/InstrInfoEmitter.cpp:393: error: undefined reference to 'llvm::PredicateExpander::expandPredicate(llvm::formatted_raw_ostream&, llvm::Record const*)'
external/llvm/utils/TableGen/SubtargetEmitter.cpp:1486: error: undefined reference to 'llvm::PredicateExpander::expandPredicate(llvm::formatted_raw_ostream&, llvm::Record const*)'

external/llvm/utils/TableGen/TableGen.cpp:151: error: undefined reference to 'llvm::EmitCompressInst(llvm::RecordKeeper&, llvm::raw_ostream&)'
clang.real: error: linker command failed with exit code 1 (use -v to see invocation)
[  8% 764/8646] host C++: libLLVMRuntimeDyld <= external/llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
ninja: build stopped: subcommand failed.
14:46:19 ninja failed with: exit status 1

Reference commits:
839cd7ff05 ("[RISCV] Tablegen-driven Instruction Compression.")
04cf0d7c9c ("[WebAssembly] Initial Disassembler.")
e68d92b387 ("[RFC][Patch 1/3] Add a new class of predicates for variant scheduling classes.")

4 years agoandroid: Transforms/Vectorize: update sources list
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: Transforms/Vectorize: update sources list

4 years agoandroid: Transforms/Utils: update sources list
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: Transforms/Utils: update sources list

4 years agoandroid: Transforms/IPO: update sources list
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: Transforms/IPO: update sources list

4 years agoandroid: Trasform/AggressiveInstCombine: build as static library
Mauro Rossi [Sat, 9 Jun 2018 19:34:47 +0000 (21:34 +0200)]
android: Trasform/AggressiveInstCombine: build as static library

Android makefile is added to build libLLVMAggressiveInstCombine static library
and static dependency is added in shared_llvm.mk

4 years agoandroid: ExecutionEngine/Orc: update sources list
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: ExecutionEngine/Orc: update sources list

4 years agoandroid: Demangle: add libLLVMDemangle static dependency
Mauro Rossi [Sat, 9 Jun 2018 20:07:36 +0000 (22:07 +0200)]
android: Demangle: add libLLVMDemangle static dependency

4 years agoandroid: DebugInfo/DWARF: update sources list
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: DebugInfo/DWARF: update sources list

4 years agoandroid: BinaryFormat: update sources list
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: BinaryFormat: update sources list

4 years agoandroid: Analysis: update sources list
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: Analysis: update sources list

4 years agoandroid: Support: update sources list
Mauro Rossi [Sun, 10 Jun 2018 18:35:33 +0000 (20:35 +0200)]
android: Support: update sources list

Source files updated for Support target

4 years agoandroid: [Support] Move syntax highlighting into support
Mauro Rossi [Sat, 9 Jun 2018 10:58:01 +0000 (12:58 +0200)]
android: [Support] Move syntax highlighting into support

Apply changes also in Android targets

Fixes the following building error:

ninja: error: 'external/llvm/lib/DebugInfo/DWARF/SyntaxHighlighting.cpp',
needed by 'out/target/product/x86/obj/STATIC_LIBRARIES/libLLVMDebugInfoDWARF_intermediates/SyntaxHighlighting.o',
missing and no known rule to make it
12:05:41 ninja failed with: exit status 1

Reference: 01d72e5767 ("[Support] Move syntax highlighting into support")

4 years agoandroid: CodeGen: update sources list
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: CodeGen: update sources list

4 years agoandroid: [IR][CodeGen] Move EVT to CodeGen layer.
Mauro Rossi [Sat, 9 Jun 2018 12:43:57 +0000 (14:43 +0200)]
android: [IR][CodeGen] Move EVT to CodeGen layer.

Apply the change in Android target

Fixes following building error:

ninja: error: 'external/llvm/lib/IR/ValueTypes.cpp',
needed by 'out/target/product/x86/obj/STATIC_LIBRARIES/libLLVMCore_intermediates/ValueTypes.o',
missing and no known rule to make it
14:32:04 ninja failed with: exit status 1

Reference: f137ed238d ("[IR][CodeGen] Remove dependency on EVT from IR/Function.cpp.
 Move EVT to CodeGen layer.")

4 years agoandroid: Codegen: Rename ExecutionDepsFix files to ExecutionDomainFix
Mauro Rossi [Sat, 9 Jun 2018 12:32:34 +0000 (14:32 +0200)]
android: Codegen: Rename ExecutionDepsFix files to ExecutionDomainFix

Rename the source file in Android target

Fixes following building error:

ninja: error: 'external/llvm/lib/CodeGen/ExecutionDepsFix.cpp',
needed by 'out/target/product/x86/obj/STATIC_LIBRARIES/libLLVMCodeGen_intermediates/ExecutionDepsFix.o',
missing and no known rule to make it
13:15:38 ninja failed with: exit status 1

Reference: d6bf9cdf27 ("Rename ExecutionDepsFix files to ExecutionDomainFix")

4 years agoandroid: Codegen/AsmPrinter: Rename DwarfAccelTable to AccelTable
Mauro Rossi [Sat, 9 Jun 2018 11:13:30 +0000 (13:13 +0200)]
android: Codegen/AsmPrinter: Rename DwarfAccelTable to AccelTable

Apply changes also in Android targets

Fixes the following building error:

ninja: error: 'external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp',
needed by 'out/target/product/x86/obj/STATIC_LIBRARIES/libLLVMAsmPrinter_intermediates/DwarfAccelTable.o',
missing and no known rule to make it
12:13:33 ninja failed with: exit status 1

Reference: 633599ba03 ("[NFC] Rename DwarfAccelTable and move header.")

4 years agoandroid: fix AMDGPU target build
Mauro Rossi [Sun, 10 Jun 2018 18:17:20 +0000 (20:17 +0200)]
android: fix AMDGPU target build

Source files and tblgen targets are updated for AMDGPU target

4 years agoandroid: [AMDGPU][Waitcnt] Remove the old waitcnt pass
Mauro Rossi [Sat, 9 Jun 2018 10:00:37 +0000 (12:00 +0200)]
android: [AMDGPU][Waitcnt] Remove the old waitcnt pass

Remove source also in Android AMDGPU target

Fixes the following building error:

ninja: error: 'external/llvm/lib/Target/AMDGPU/SIInsertWaits.cpp',
needed by 'out/target/product/x86/obj/STATIC_LIBRARIES/libLLVMAMDGPUCodeGen_intermediates/SIInsertWaits.o',
missing and no known rule to make it
11:44:43 ninja failed with: exit status 1

Reference: ac95aa536 ("[AMDGPU][Waitcnt] Remove the old waitcnt pass")

4 years agoandroid: AMDGPU: Rename OpenCL lowering pass to be R600 specific.
Mauro Rossi [Sat, 9 Jun 2018 09:46:59 +0000 (11:46 +0200)]
android: AMDGPU: Rename OpenCL lowering pass to be R600 specific.

Rename the source file in Android AMDGPU target

Fixes following building error:

ninja: error: 'external/llvm/lib/Target/AMDGPU/AMDGPUOpenCLImageTypeLoweringPass.cpp',
needed by 'out/target/product/x86/obj/STATIC_LIBRARIES/libLLVMAMDGPUCodeGen_intermediates/AMDGPUOpenCLImageTypeLoweringPass.o',
missing and no known rule to make it
11:26:11 ninja failed with: exit status 1

Reference: 0d44e5b362 ("AMDGPU: Rename OpenCL lowering pass to be R600 specific.")

4 years agoandroid: add tblgen rules for searchable-tables targets
Mauro Rossi [Sat, 9 Jun 2018 16:42:18 +0000 (18:42 +0200)]
android: add tblgen rules for searchable-tables targets

Required for AMDGPUGenSearchableTables.inc target

4 years agoandroid: Target/X86: update sources list
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: Target/X86: update sources list

4 years agoandroid: fix Target/ARM build
Mauro Rossi [Fri, 19 Jan 2018 13:10:18 +0000 (14:10 +0100)]
android: fix Target/ARM build

Changelog:

updated list of *.cpp sources in ARM Android.mk makefiles
added lib/Target/ARM/Utils/Android.mk to build libLLVMARMUtils module
shared_llvm.mk: added libLLVMARMUtils to arm static libraries
main Android.mk: lib/Target/ARM/Utils path added
llvm-tblgen-rules.mk: new rule for ARMGenSystemRegister.inc aligned to AMR Cmakelist.txt
ARM modules Android.mk: added ARMGenSystemRegister.inc generated file where necessary
ARM modules Android.mk: added *GEN_ATTRIBUTES_MK, *GEN_INTRINSICS_MK rules where necessary

4 years agoandroid: Target/X86/InstPrinter: fix {Attributes,Intrinsics}.gen dependencies
Mauro Rossi [Sat, 20 Jan 2018 19:57:19 +0000 (20:57 +0100)]
android: Target/X86/InstPrinter: fix {Attributes,Intrinsics}.gen dependencies

Makefile rules are aligned to X86/AsmParser ones

Fixes the following building errors:

host C++: libLLVM70X86AsmPrinter_32 <= external/llvm70/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
...
In file included from external/llvm70/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp:17:
In file included from external/llvm70/lib/Target/X86/InstPrinter/X86InstComments.h:18:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/CodeGen/MachineInstr.h:23:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/Analysis/AliasAnalysis.h:44:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/Analysis/MemoryLocation.h:21:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/IR/CallSite.h:32:
external/llvm70/lib/Transforms/Hello/../../../include/llvm/IR/Attributes.h:74:14: fatal error: 'llvm/IR/Attributes.gen' file not found
    #include "llvm/IR/Attributes.gen"
             ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

target  C++: libLLVM70X86AsmPrinter_32 <= external/llvm70/lib/Target/X86/InstPrinter/X86InstComments.cpp
...
In file included from external/llvm70/lib/Target/X86/InstPrinter/X86InstComments.cpp:15:
In file included from external/llvm70/lib/Target/X86/InstPrinter/X86InstComments.h:18:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/CodeGen/MachineInstr.h:23:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/Analysis/AliasAnalysis.h:44:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/Analysis/MemoryLocation.h:21:
In file included from external/llvm70/lib/Transforms/Hello/../../../include/llvm/IR/CallSite.h:32:
external/llvm70/lib/Transforms/Hello/../../../include/llvm/IR/Attributes.h:74:14: fatal error: 'llvm/IR/Attributes.gen' file not found
    #include "llvm/IR/Attributes.gen"
             ^
1 error generated.

4 years agoandroid: add support for "retpoline" x86 mitigation
Mauro Rossi [Sat, 3 Feb 2018 18:43:17 +0000 (19:43 +0100)]
android: add support for "retpoline" x86 mitigation

Builds the new sources added by commit e307072 ("Merging r323155:")

4 years agoandroid: update sources file names for llvm70
Mauro Rossi [Fri, 19 Jan 2018 17:44:18 +0000 (18:44 +0100)]
android: update sources file names for llvm70

*SRC_FILES lists are aligned as per Cmakelist.txt files,
to avoid building errors due to changes in codebase

e.g. AMDGPUCodeObjectMetadata.cpp => AMDGPUMetadata.cpp

ninja: error: 'external/llvm70/lib/Support/AMDGPUCodeObjectMetadata.cpp',
needed by 'out/host/linux-x86/obj/STATIC_LIBRARIES/libLLVM70Support_intermediates/AMDGPUCodeObjectMetadata.o',
missing and no known rule to make it

or new missing sources:

external/llvm70/utils/TableGen/CodeGenDAGPatterns.cpp:88: error: undefined reference to 'llvm::ValueTypeByHwMode:

4 years agofor new mesa build (LLVM70)
Qiang Yu [Thu, 17 Aug 2017 01:45:47 +0000 (09:45 +0800)]
for new mesa build (LLVM70)

Change-Id: I6008945796c2fdd0bcfe4a21b171d962be593646

4 years agofor sync with upstream update
Qiang Yu [Fri, 11 Aug 2017 02:58:55 +0000 (10:58 +0800)]
for sync with upstream update

Change-Id: Ifa8ab4651323b78ba69ac46c421f3d6ad2cf7a50

4 years agoCLEAR_TBLGEN_VARS to CLEAR_TBLGEN_VARS70
Qiang Yu [Tue, 1 Aug 2017 07:39:40 +0000 (15:39 +0800)]
CLEAR_TBLGEN_VARS to CLEAR_TBLGEN_VARS70

find . -type f -name "*.mk" -exec sed -i 's/CLEAR_TBLGEN_VARS/CLEAR_TBLGEN_VARS70/g' {} +

Change-Id: I49cea6080f2c69f241d1a28f55f342aa95f62c7b

4 years agoTBLGEN_TD_DIR to TBLGEN_TD_DIR70
Qiang Yu [Tue, 1 Aug 2017 07:38:22 +0000 (15:38 +0800)]
TBLGEN_TD_DIR to TBLGEN_TD_DIR70

find . -type f -name "*.mk" -exec sed -i 's/TBLGEN_TD_DIR/TBLGEN_TD_DIR70/g' {} +

Change-Id: I6ea2fb993626240761432fb3db38caead251e78a

4 years agoINTRINSICTD to INTRINSICTD70
Qiang Yu [Tue, 1 Aug 2017 07:37:29 +0000 (15:37 +0800)]
INTRINSICTD to INTRINSICTD70

find . -type f -name "*.mk" -exec sed -i 's/INTRINSICTD/INTRINSICTD70/g' {} +

Change-Id: I042b6a3526260d3d811b4cbba1751e73ffdd0fd6

4 years agoATTRIBUTETD to ATTRIBUTETD70
Qiang Yu [Tue, 1 Aug 2017 07:36:24 +0000 (15:36 +0800)]
ATTRIBUTETD to ATTRIBUTETD70

find . -type f -name "*.mk" -exec sed -i 's/ATTRIBUTETD/ATTRIBUTETD70/g' {} +

Change-Id: I03509f4ce804035e3a12a9a36d8158fb2052027d

4 years agoTBLGEN_TABLES to TBLGEN_TABLES70
Qiang Yu [Tue, 1 Aug 2017 07:35:30 +0000 (15:35 +0800)]
TBLGEN_TABLES to TBLGEN_TABLES70

find . -type f -name "*.mk" -exec sed -i 's/TBLGEN_TABLES/TBLGEN_TABLES70/g' {} +

Change-Id: I4a1d920b0371b659637f08cc7426a5c7b6f47bdc

4 years agotransform-td-to-out to transform-td-to-out70
Qiang Yu [Tue, 1 Aug 2017 07:33:46 +0000 (15:33 +0800)]
transform-td-to-out to transform-td-to-out70

find . -type f -name "*.mk" -exec sed -i 's/transform-td-to-out/transform-td-to-out70/g' {} +

Change-Id: I0f068d1e05366de42771cf273ebdb5c8fcc18cf9

4 years agotransform-host-td-to-out to transform-host-td-to-out70
Qiang Yu [Tue, 1 Aug 2017 07:32:52 +0000 (15:32 +0800)]
transform-host-td-to-out to transform-host-td-to-out70

find . -type f -name "*.mk" -exec sed -i 's/transform-host-td-to-out/transform-host-td-to-out70/g' {} +

Change-Id: I9e7c253ab9c25b8b74538b7e5eda84fd024ca4d9

4 years agotransform-device-td-to-out to transform-device-td-to-out70
Qiang Yu [Tue, 1 Aug 2017 07:30:20 +0000 (15:30 +0800)]
transform-device-td-to-out to transform-device-td-to-out70

find . -type f -name "*.mk" -exec sed -i 's/transform-device-td-to-out/transform-device-td-to-out70/g' {} +

Change-Id: I973ec407d87d5972abe72aa39e75db4846adabd2

4 years agoLLVM_SUPPORTED_ARCH to LLVM70_SUPPORTED_ARCH
Qiang Yu [Tue, 1 Aug 2017 07:19:53 +0000 (15:19 +0800)]
LLVM_SUPPORTED_ARCH to LLVM70_SUPPORTED_ARCH

find . -type f -name "*.mk" -exec sed -i 's/LLVM_SUPPORTED_ARCH/LLVM70_SUPPORTED_ARCH/g' {} +

Change-Id: I239a21f1e350a8ddb0e8c122ea35d2a91c28cb71

4 years agoLLVM_GEN_ to LLVM70_GEN_
Qiang Yu [Tue, 1 Aug 2017 07:16:51 +0000 (15:16 +0800)]
LLVM_GEN_ to LLVM70_GEN_

find . -type f -name "*.mk" -exec sed -i 's/LLVM_GEN_/LLVM70_GEN_/g' {} +

Change-Id: Ia0680db15a1318cac2750a09c07b1c8c8870cb5c

4 years agoLLVM_DEVICE_BUILD_MK to LLVM70_DEVICE_BUILD_MK
Qiang Yu [Tue, 1 Aug 2017 07:01:50 +0000 (15:01 +0800)]
LLVM_DEVICE_BUILD_MK to LLVM70_DEVICE_BUILD_MK

find . -type f -name "*.mk" -exec sed -i 's/LLVM_DEVICE_BUILD_MK/LLVM70_DEVICE_BUILD_MK/g' {} +

Change-Id: If859305d7d6220a8a7cf49a515f09a008162c091

4 years agoLLVM_HOST_BUILD_MK to LLVM70_HOST_BUILD_MK
Qiang Yu [Tue, 1 Aug 2017 07:00:40 +0000 (15:00 +0800)]
LLVM_HOST_BUILD_MK to LLVM70_HOST_BUILD_MK

find . -type f -name "*.mk" -exec sed -i 's/LLVM_HOST_BUILD_MK/LLVM70_HOST_BUILD_MK/g' {} +

Change-Id: Ifb3c227afbc06823fe3275c88a0af8b754ce5cfb

4 years agoLLVM_TBLGEN to LLVM70_TBLGEN
Qiang Yu [Tue, 1 Aug 2017 06:57:55 +0000 (14:57 +0800)]
LLVM_TBLGEN to LLVM70_TBLGEN

find . -type f -name "*.mk" -exec sed -i 's/LLVM_TBLGEN/LLVM70_TBLGEN/g' {} +

Change-Id: Ida23ea5bafd566034ad172dc84d4a53fe399f914

4 years agoLLVM_ROOT_PATH to LLVM70_ROOT_PATH
Qiang Yu [Tue, 1 Aug 2017 06:55:37 +0000 (14:55 +0800)]
LLVM_ROOT_PATH to LLVM70_ROOT_PATH

find . -type f -name "*.mk" -exec sed -i 's/LLVM_ROOT_PATH/LLVM70_ROOT_PATH/g' {} +

Change-Id: Ie102b63dbd4200d923a398d57d05f6e56b1e970b

4 years agomore llvm to llvm70
Qiang Yu [Tue, 1 Aug 2017 06:27:55 +0000 (14:27 +0800)]
more llvm to llvm70

Change-Id: I15d009a0b5e2714b9da5acbf224c90777e79a96e

4 years agoremove un-needed utils
Qiang Yu [Tue, 1 Aug 2017 06:06:50 +0000 (14:06 +0800)]
remove un-needed utils

Change-Id: Icf27befffad1a982c5199b0a5a6ed4914871710e

4 years agodon't build tools
Qiang Yu [Tue, 1 Aug 2017 06:05:31 +0000 (14:05 +0800)]
don't build tools

Change-Id: I0bffab8e880a9eb07778e666a89782453777ab71

4 years agorename LLVMxxx to LLVM70xxx
Qiang Yu [Tue, 1 Aug 2017 06:03:07 +0000 (14:03 +0800)]
rename LLVMxxx to LLVM70xxx

Change-Id: I6e1a5a5e50a5c06d12fff20ee889b2c9b1d8ab3f

4 years agorename libLLVM to libLLVM70
Qiang Yu [Tue, 1 Aug 2017 05:57:12 +0000 (13:57 +0800)]
rename libLLVM to libLLVM70

find . -type f -name "*.mk" -exec sed -i 's/libLLVM/libLLVM70/g' {} +

Change-Id: I7868e2f0d559077d04233164c378f5ad4de089ac

4 years agoenable GlobalISel
Qiang Yu [Sun, 16 Jul 2017 15:52:25 +0000 (23:52 +0800)]
enable GlobalISel

Change-Id: I54623fef9a8f523db2827c4371c93ce42354e790

4 years agonow mesa can be compiled
Qiang Yu [Fri, 14 Jul 2017 10:08:17 +0000 (18:08 +0800)]
now mesa can be compiled

Change-Id: I7ebd71ab29384a5850bcc8227e007704d24fb057

4 years agoupdate config
Qiang Yu [Fri, 14 Jul 2017 00:33:14 +0000 (08:33 +0800)]
update config

Change-Id: Id0c53452b223ebeeed6dded8f47f19d71f4a2310

4 years agoadd device include config
Qiang Yu [Thu, 13 Jul 2017 14:43:17 +0000 (22:43 +0800)]
add device include config

Change-Id: If52fde7458825a853cafef004649339da1b87236

4 years agomove all mk file
Qiang Yu [Thu, 13 Jul 2017 13:51:59 +0000 (21:51 +0800)]
move all mk file

Change-Id: If2445f05934836410b1f1bbdc9da22b0a193d646

4 years agoMerging r372020 and r372182:
Tom Stellard [Tue, 15 Oct 2019 03:50:26 +0000 (03:50 +0000)]
Merging r372020 and r372182:

------------------------------------------------------------------------
r372020 | rnk | 2019-09-16 11:49:09 -0700 (Mon, 16 Sep 2019) | 30 lines

[PGO] Use linkonce_odr linkage for __profd_ variables in comdat groups

This fixes relocations against __profd_ symbols in discarded sections,
which is PR41380.

In general, instrumentation happens very early, and optimization and
inlining happens afterwards. The counters for a function are calculated
early, and after inlining, counters for an inlined function may be
widely referenced by other functions.

For C++ inline functions of all kinds (linkonce_odr &
available_externally mainly), instr profiling wants to deduplicate these
__profc_ and __profd_ globals. Otherwise the binary would be quite
large.

I made __profd_ and __profc_ comdat in r355044, but I chose to make
__profd_ internal. At the time, I was only dealing with coverage, and in
that case, none of the instrumentation needs to reference __profd_.
However, if you use PGO, then instrumentation passes add calls to
__llvm_profile_instrument_range which reference __profd_ globals. The
solution is to make these globals externally visible by using
linkonce_odr linkage for data as was done for counters.

This is safe because PGO adds a CFG hash to the names of the data and
counter globals, so if different TUs have different globals, they will
get different data and counter arrays.

Reviewers: xur, hans

Differential Revision: https://reviews.llvm.org/D67579
------------------------------------------------------------------------

------------------------------------------------------------------------
r372182 | rnk | 2019-09-17 14:10:49 -0700 (Tue, 17 Sep 2019) | 12 lines

[PGO] Don't use comdat groups for counters & data on COFF

For COFF, a comdat group is really a symbol marked
IMAGE_COMDAT_SELECT_ANY and zero or more other symbols marked
IMAGE_COMDAT_SELECT_ASSOCIATIVE. Typically the associative symbols in
the group are not external and are not referenced by other TUs, they are
things like debug info, C++ dynamic initializers, or other section
registration schemes. The Visual C++ linker reports a duplicate symbol
error for symbols marked IMAGE_COMDAT_SELECT_ASSOCIATIVE even if they
would be discarded after handling the leader symbol.

Fixes coverage-inline.cpp in check-profile after r372020.
------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_90@374858 91177308-0d34-0410-b5e6-96231b3b80d8

4 years agoMerging r372606:
Tom Stellard [Sat, 12 Oct 2019 02:47:19 +0000 (02:47 +0000)]
Merging r372606:

------------------------------------------------------------------------
r372606 | spatel | 2019-09-23 06:30:23 -0700 (Mon, 23 Sep 2019) | 3 lines

[x86] fix assert with horizontal math + broadcast of vector (PR43402)

https://bugs.llvm.org/show_bug.cgi?id=43402
------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_90@374633 91177308-0d34-0410-b5e6-96231b3b80d8

4 years ago[9.0 branch][ARM] VFPv2 only supports 16 D registers.
Tom Stellard [Thu, 10 Oct 2019 19:44:38 +0000 (19:44 +0000)]
[9.0 branch][ARM] VFPv2 only supports 16 D registers.

Summary:
Patch for 9.0.1.

Simplified version of r372186/r372187: fix the meaning of the "vfpv2" and "vfpv2sp" features, but keep around the useless "vfp2d16" and "vfp2d16sp" features, to reduce the risk on the release branch.

Fixes https://bugs.llvm.org/show_bug.cgi?id=43365

Reviewers: t.p.northover, tstellar

Reviewed By: t.p.northover

Subscribers: kristof.beyls, hiraditya, kristina, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68675

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_90@374433 91177308-0d34-0410-b5e6-96231b3b80d8

4 years agogn: Bump version to 9.0.1
Hans Wennborg [Thu, 10 Oct 2019 07:33:42 +0000 (07:33 +0000)]
gn: Bump version to 9.0.1

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_90@374286 91177308-0d34-0410-b5e6-96231b3b80d8

4 years agoBump version to 9.0.1
Tom Stellard [Wed, 9 Oct 2019 20:41:02 +0000 (20:41 +0000)]
Bump version to 9.0.1

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_90@374218 91177308-0d34-0410-b5e6-96231b3b80d8

4 years agogit-llvm: Update for release_90 branch
Tom Stellard [Wed, 9 Oct 2019 18:17:18 +0000 (18:17 +0000)]
git-llvm: Update for release_90 branch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_90@374193 91177308-0d34-0410-b5e6-96231b3b80d8

4 years agoAdd external project LDC to release notes.
Kai Nacke [Tue, 17 Sep 2019 19:16:16 +0000 (19:16 +0000)]
Add external project LDC to release notes.

LDC, the LLVM-based D compiler, is already ready for LLVM 9.0.0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_90@372167 91177308-0d34-0410-b5e6-96231b3b80d8

4 years agoReleaseNotes: known issue: PR40547
Hans Wennborg [Mon, 16 Sep 2019 09:11:39 +0000 (09:11 +0000)]
ReleaseNotes: known issue: PR40547

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_90@371964 91177308-0d34-0410-b5e6-96231b3b80d8

4 years agoMerging r371434:
Hans Wennborg [Tue, 10 Sep 2019 07:31:55 +0000 (07:31 +0000)]
Merging r371434:
------------------------------------------------------------------------
r371434 | efriedma | 2019-09-09 20:29:27 +0200 (Mon, 09 Sep 2019) | 15 lines

[IfConversion] Correctly handle cases where analyzeBranch fails.

If analyzeBranch fails, on some targets, the out parameters point to
some blocks in the function. But we can't use that information, so make
sure to clear it out.  (In some places in IfConversion, we assume that
any block with a TrueBB is analyzable.)

The change to the testcase makes it trigger a bug on builds without this
fix: IfConvertDiamond tries to perform a followup "merge" operation,
which isn't legal, and we somehow end up with a branch to a deleted MBB.
I'm not sure how this doesn't crash the compiler.

Differential Revision: https://reviews.llvm.org/D67306

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_90@371490 91177308-0d34-0410-b5e6-96231b3b80d8