OSDN Git Service
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' {} +
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.
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.")
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
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.")
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")
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.")
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.")
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")
Mauro Rossi [Wed, 13 Feb 2019 22:34:57 +0000 (23:34 +0100)]
android: add exegesis tblgen rules
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")
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.")
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.")
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")
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")
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..")
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...")
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")
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")
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")
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")
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")
Mauro Rossi [Wed, 6 Feb 2019 22:48:16 +0000 (23:48 +0100)]
android: additional build fixes
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.
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
Mauro Rossi [Wed, 6 Feb 2019 20:55:53 +0000 (21:55 +0100)]
android: fix changed sources in makefiles
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)")
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.
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...")
Mauro Rossi [Mon, 23 Jul 2018 21:58:17 +0000 (23:58 +0200)]
android: [ARM] ARMCodeGenPrepare backend pass
Reference:
942fbb2 ("[ARM] ARMCodeGenPrepare backend pass")
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")
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.")
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.")
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")
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)")
Mauro Rossi [Fri, 6 Jul 2018 00:03:23 +0000 (02:03 +0200)]
DO NOT MERGE: all-in-one build fixes
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)
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
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.
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")
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.")
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: Transforms/Vectorize: update sources list
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: Transforms/Utils: update sources list
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: Transforms/IPO: update sources list
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
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: ExecutionEngine/Orc: update sources list
Mauro Rossi [Sat, 9 Jun 2018 20:07:36 +0000 (22:07 +0200)]
android: Demangle: add libLLVMDemangle static dependency
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: DebugInfo/DWARF: update sources list
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: BinaryFormat: update sources list
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: Analysis: 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
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")
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: CodeGen: update sources list
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.")
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")
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.")
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
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")
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.")
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
Mauro Rossi [Sat, 9 Jun 2018 19:04:26 +0000 (21:04 +0200)]
android: Target/X86: update sources list
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
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.
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:")
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:
Qiang Yu [Thu, 17 Aug 2017 01:45:47 +0000 (09:45 +0800)]
for new mesa build (LLVM70)
Change-Id: I6008945796c2fdd0bcfe4a21b171d962be593646
Qiang Yu [Fri, 11 Aug 2017 02:58:55 +0000 (10:58 +0800)]
for sync with upstream update
Change-Id: Ifa8ab4651323b78ba69ac46c421f3d6ad2cf7a50
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Qiang Yu [Tue, 1 Aug 2017 06:27:55 +0000 (14:27 +0800)]
more llvm to llvm70
Change-Id: I15d009a0b5e2714b9da5acbf224c90777e79a96e
Qiang Yu [Tue, 1 Aug 2017 06:06:50 +0000 (14:06 +0800)]
remove un-needed utils
Change-Id: Icf27befffad1a982c5199b0a5a6ed4914871710e
Qiang Yu [Tue, 1 Aug 2017 06:05:31 +0000 (14:05 +0800)]
don't build tools
Change-Id: I0bffab8e880a9eb07778e666a89782453777ab71
Qiang Yu [Tue, 1 Aug 2017 06:03:07 +0000 (14:03 +0800)]
rename LLVMxxx to LLVM70xxx
Change-Id: I6e1a5a5e50a5c06d12fff20ee889b2c9b1d8ab3f
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
Qiang Yu [Sun, 16 Jul 2017 15:52:25 +0000 (23:52 +0800)]
enable GlobalISel
Change-Id: I54623fef9a8f523db2827c4371c93ce42354e790
Qiang Yu [Fri, 14 Jul 2017 10:08:17 +0000 (18:08 +0800)]
now mesa can be compiled
Change-Id: I7ebd71ab29384a5850bcc8227e007704d24fb057
Qiang Yu [Fri, 14 Jul 2017 00:33:14 +0000 (08:33 +0800)]
update config
Change-Id: Id0c53452b223ebeeed6dded8f47f19d71f4a2310
Qiang Yu [Thu, 13 Jul 2017 14:43:17 +0000 (22:43 +0800)]
add device include config
Change-Id: If52fde7458825a853cafef004649339da1b87236
Qiang Yu [Thu, 13 Jul 2017 13:51:59 +0000 (21:51 +0800)]
move all mk file
Change-Id: If2445f05934836410b1f1bbdc9da22b0a193d646
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
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
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
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
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
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
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
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
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