Commit Graph

96 Commits

Author SHA1 Message Date
Kristina Brooks
bdaa4b5087 Update modulemaps for Analysis/VecFuncs.def.
Avoid a warning while building modular LLVM due to a new
textual header missing in the modulemap:

TargetLibraryInfo.cpp:1485:6: warning: missing submodule
  'LLVM_Analysis.VecFuncs' [-Wincomplete-umbrella]

Added VecFuncs.def as a textual header in LLVM_Analysis.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358021 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-09 17:05:36 +00:00
Fedor Sergeev
129c32597b SafepointIRVerifier port to new Pass Manager
Straightforward port of StatepointIRVerifier pass to new Pass Manager framework.

Fix By: skatkov
Reviewed By: fedor.sergeev
Differential Revision: https://reviews.llvm.org/D59825

This is a re-land of r357147/r357148 with LLVM_ENABLE_MODULES build fixed.
Adding IR/SafepointIRVerifier.h into its own module.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@357361 91177308-0d34-0410-b5e6-96231b3b80d8
2019-03-31 10:15:39 +00:00
Pavel Labath
bb304284b5 Attempt to fix modules build for r356652
The commit added a new .def file. This adds it to the list of textual
headers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356653 91177308-0d34-0410-b5e6-96231b3b80d8
2019-03-21 09:44:07 +00:00
Adrian Prantl
2cb8ba5836 Temporarily diasble debug output in GenericDomTreeConstruction.h
to get the modules bots running again.

The LLVM_DEBUG macro only plays well with a modular build of LLVM when
the header is marked as textual, but doing so causes redefinition
errors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355653 91177308-0d34-0410-b5e6-96231b3b80d8
2019-03-07 23:30:19 +00:00
Adrian Prantl
4f0bc87e43 Make GenericDomTreeConstruction textual instead.
I think the problem is that it uses the LLVM_DEBUG macro in funciton bodies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355652 91177308-0d34-0410-b5e6-96231b3b80d8
2019-03-07 23:17:11 +00:00
Adrian Prantl
0f44debca2 Work around a module build error on the LLDB incremental green dragon bot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355646 91177308-0d34-0410-b5e6-96231b3b80d8
2019-03-07 22:25:26 +00:00
Richard Trieu
1c34480b50 Move DomTreeUpdater from IR to Analysis
DomTreeUpdater depends on headers from Analysis, but is in IR.  This is a
layering violation since Analysis depends on IR.  Relocate this code from IR
to Analysis to fix the layering violation.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353265 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-06 02:52:52 +00:00
Adrian Prantl
e367ebacf2 Reflow module.modulemap for readability
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350347 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-03 19:30:18 +00:00
Adrian Prantl
ce64d36d5b Unbreak the modules build by splitting Target out into its own top-level module
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350346 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-03 19:24:37 +00:00
Eric Fiselier
d715843a75 [LLVM] Allow modulemap installation
Summary:
Currently we can't install the modulemaps provided by LLVM, since they are not structured to support headers generated as part of the build (ex. `llvm/IR/Attributes.gen`).
This patch restructures the module maps in order to support installation.

Modules containing generated headers are defined in the new `module.extern.modulemap` file, and are referenced from the main `module.modulemap` using `extern module`. There are two versions of the `module.extern.modulemap` file; one used when building and another, `module.install.modulemap`, which is re-named during installation.

Users can opt-into module map installation using `-DLLVM_INSTALL_MODULEMAPS=ON`.  The default value is `OFF` due to llvm.org/PR31905.

Reviewers: rsmith, mehdi_amini, bruno, EricWF

Reviewed By: EricWF

Subscribers: tschuett, chapuni, mgorny, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347420 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-21 20:46:50 +00:00
Anton Korobeynikov
695940b0f1 [MSP430] Add MC layer
Reapply r346374 with the fixes for modules build.

Original summary:

This change implements assembler parser, code emitter, ELF object writer
and disassembler for the MSP430 ISA.  Also, more instruction forms are added
to the target description.

Patch by Michael Skvortsov!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346948 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-15 12:29:43 +00:00
Davide Italiano
d1851a2b7a Revert "[MSP430] Add MC layer"
This commit broke the module buildbots.
Error:

lib/Target/MSP430/MSP430GenAsmMatcher.inc:1027:1: error: redundant
namespace 'llvm' [-Wmodules-import-nested-redundant]
^

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346410 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-08 16:21:29 +00:00
Anton Korobeynikov
5fedd08c09 [MSP430] Add MC layer
Summary:
This change implements assembler parser, code emitter, ELF object writer
and disassembler for the MSP430 ISA.  Also, more instruction forms are added
to the target description.

Reviewers: asl

Reviewed By: asl

Subscribers: pftbest, krisb, mgorny, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346374 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-08 00:03:45 +00:00
Aleksandr Urakov
8e47a8d1a6 Fix non-Windows build for D53324
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@345011 91177308-0d34-0410-b5e6-96231b3b80d8
2018-10-23 08:15:00 +00:00
David Blaikie
648e7fb024 Add new .def file introduced for BinaryFormat/MsgPack
Patch by Kristina Brooks!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@340506 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-23 02:01:30 +00:00
Alina Sbirlea
5c7c276dd6 Add proper headers in CFGUpdate.h and add CFGDiff.h in the list of delayed headers for LLVM_intrinsic_gen.
Summary:
Fix module build after r339694.
Add headers needed in CFGUpdate.h.
Add CFGDiff.h in the list of delayed headers for LLVM_intrinsic_gen.
Up for post-commit review.

Subscribers: sanjoy, jlebar, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@339724 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-14 20:49:19 +00:00
Peter Collingbourne
5df3f9e070 Put "built-in" function definitions in global Used list, for LTO. (fix bug 34169)
When building with LTO, builtin functions that are defined but whose calls have not been inserted yet, get internalized. The Global Dead Code Elimination phase in the new LTO implementation then removes these function definitions. Later optimizations add calls to those functions, and the linker then dies complaining that there are no definitions. This CL fixes the new LTO implementation to check if a function is builtin, and if so, to not internalize (and later DCE) the function. As part of this fix I needed to move the RuntimeLibcalls.{def,h} files from the CodeGen subidrectory to the IR subdirectory. I have updated all the files that accessed those two files to access their new location.

Fixes PR34169

Patch by Caroline Tice!

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337847 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-24 19:34:37 +00:00
Sam Clegg
2a147a1507 [WebAssembly] Remove ELF file support.
This support was partial and temporary.  Now that we have
wasm object file support its no longer needed.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337222 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-16 23:09:29 +00:00
Jakub Kuderski
57fa5c9397 Reappl "[Dominators] Add the DomTreeUpdater class"
Summary:
This patch is the first in a series of patches related to the [[ http://lists.llvm.org/pipermail/llvm-dev/2018-June/123883.html | RFC - A new dominator tree updater for LLVM ]].

This patch introduces the DomTreeUpdater class, which provides a cleaner API to perform updates on available dominator trees (none, only DomTree, only PostDomTree, both) using different update strategies (eagerly or lazily) to simplify the updating process.

—Prior to the patch—

   - Directly calling update functions of DominatorTree updates the data structure eagerly while DeferredDominance does updates lazily.
   - DeferredDominance class cannot be used when a PostDominatorTree also needs to be updated.
   - Functions receiving DT/DDT need to branch a lot which is currently necessary.
   - Functions using both DomTree and PostDomTree need to call the update function separately on both trees.
   - People need to construct an additional DeferredDominance class to use functions only receiving DDT.

—After the patch—

Patch by Chijun Sima <simachijun@gmail.com>.

Reviewers: kuhar, brzycki, dmgreen, grosser, davide

Reviewed By: kuhar, brzycki

Author: NutshellySima

Subscribers: vsk, mgorny, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336163 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-03 02:06:23 +00:00
Jakub Kuderski
6e76b4eeb5 Revert "[Dominators] Add the DomTreeUpdater class"
Temporary revert because of a failing test on some buildbots.

This reverts commit r336114.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336117 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-02 16:10:49 +00:00
Jakub Kuderski
bf4ec2b466 [Dominators] Add the DomTreeUpdater class
Summary:
This patch is the first in a series of patches related to the [[ http://lists.llvm.org/pipermail/llvm-dev/2018-June/123883.html | RFC - A new dominator tree updater for LLVM ]].

This patch introduces the DomTreeUpdater class, which provides a cleaner API to perform updates on available dominator trees (none, only DomTree, only PostDomTree, both) using different update strategies (eagerly or lazily) to simplify the updating process.

—Prior to the patch—

   - Directly calling update functions of DominatorTree updates the data structure eagerly while DeferredDominance does updates lazily.
   - DeferredDominance class cannot be used when a PostDominatorTree also needs to be updated.
   - Functions receiving DT/DDT need to branch a lot which is currently necessary.
   - Functions using both DomTree and PostDomTree need to call the update function separately on both trees.
   - People need to construct an additional DeferredDominance class to use functions only receiving DDT.

—After the patch—

Patch by Chijun Sima <simachijun@gmail.com>.

Reviewers: kuhar, brzycki, dmgreen, grosser, davide

Reviewed By: kuhar, brzycki

Subscribers: vsk, mgorny, llvm-commits

Author: NutshellySima

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336114 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-02 15:37:41 +00:00
David Blaikie
461bf527e5 Rename *CommandFlags.def to *CommandFlags.inc
These aren't the .def style files used in LLVM that require a macro
defined before their inclusion - they're just basic non-modular includes
to stamp out command line flag variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329840 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-11 18:49:37 +00:00
Eric Fiselier
a078148144 Fix module.modulemap after r328395
This patch removes the MachineValueType module since the
header was removed in r328395.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328439 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-24 22:14:02 +00:00
David Blaikie
b9334112fc Fix layering of CodeGen/TargetOpcodes.def by moving it to Support
It's also used by utils/TableGen so needs to reside somewhere common to
TableGen and CodeGen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328396 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-23 23:58:27 +00:00
Aaron Smith
b360e566cf [DIA] Add IPDBSectionContrib interfaces and DIA implementation
To resolve symbol context at a particular address, we need to
determine the compiland for the address. We are able to determine
the parent compiland of PDBSymbolFunc, PDBSymbolTypeUDT,
PDBSymbolTypeEnum symbols indirectly through line information. 
However no such information is availabile for PDBSymbolData, 
i.e. variables.

The Section Contribution table from PDBs has information about
each compiland's contribution to sections by address. For example,
a piece of a contribution looks like,

  VA         RelativeVA  Sect No.  Offset    Length    Compiland
  14000087B0 000087B0    0001      000077B0  000000BB  exe_main.obj

So given an address, it's possible to determine its compiland with
this information.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328178 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 04:08:15 +00:00
Alexander Richardson
e132439ab2 Change DT_* value definitions to macros in a separate file
Summary:
I recently added a new dynamic tag to our fork of LLVM and when adding it
to llvm-readobj I noticed that not all DT_ values were being handled there.

Using macros in a .def file that can be included by both ELFDumper.cpp and
the ELF.h header ensures that the two don't get out of sync when new values
are added.

Reviewers: grimar, pcc, davide, espindola

Reviewed By: grimar, espindola

Subscribers: srhines, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328099 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-21 14:17:50 +00:00
Zachary Turner
fc9466dd05 Update modulemap to exclude new DIA headers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327444 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-13 20:16:37 +00:00
Sam Clegg
ead036a2de [WebAssembly] Remove unneeded sub-directory
This is the only wasm def (and likely likely will be
for the foreseeable) file so no need for a sub-directory

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321246 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-21 03:16:34 +00:00
Bruno Cardoso Lopes
542c83c8b8 [Modules] Add textual headers for recently added .def files
Keep module.modulemap up to date and get rid of -Wincomplete-umbrella warnings

rdar://problem/35711925

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319273 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-29 01:53:49 +00:00
David Blaikie
e3a9b4ce3a Fix a bunch more layering of CodeGen headers that are in Target
All these headers already depend on CodeGen headers so moving them into
CodeGen fixes the layering (since CodeGen depends on Target, not the
other way around).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@318490 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-17 01:07:10 +00:00
Aaron Smith
69def8daf6 [DebugInfo/PDB] Exclude the PDB/DIA files added in my previous commit from modulemap
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@318425 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-16 17:24:49 +00:00
NAKAMURA Takumi
b99884c4a5 llvm/Support/TargetParser.h: Fix -fmodules build in rL317900.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317966 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-11 02:05:47 +00:00
David Blaikie
7be6b37802 InstructionSelectorImpl.h: Modularize/remove ODR violations by using a static member function to expose the debug name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316715 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-26 23:39:54 +00:00
NAKAMURA Takumi
7c1fbc09c9 llvm/module.modulemap: Create LLVM_MC_TableGen. It is used by llvm-tblgen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315450 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-11 11:08:52 +00:00
NAKAMURA Takumi
933d4a5ed6 llvm/module.modulemap: Move Support_TargetRegistry to let LLVMSupport free from MC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315449 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-11 11:08:50 +00:00
Hans Wennborg
0f3480d826 CodeView: Provide a .def file with the register ids
The list of register ids was previously written out in a couple of dirrent
places. This puts it in a .def file and also adds a few more registers (e.g.
the x87 regs) which should lead to more readable dumps, but I didn't include
the whole list since that seems unnecessary.

X86_MC::initLLVMToSEHAndCVRegMapping is pretty ugly, but at least it's not
relying on magic constants anymore. The TODO of using tablegen still stands.

Differential revision: https://reviews.llvm.org/D38480

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314821 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-03 18:27:22 +00:00
Leslie Zhai
07192e92c4 [ARC] Prepare the implementation of relocation for LLD
Reviewers: ruiu, kparzysz, petecoup, rafael

Reviewed By: kparzysz

Subscribers: llvm-commits

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313109 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-13 01:49:49 +00:00
Lang Hames
f8e261bca5 [ORC] Exclude RemoteObjectLayer from the ExecutionEngine module, as modules
builds seem to be having trouble with it.

http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules-2/builds/11401

When trying to link lli-child-target, the linker reports missing symbols for
the 'Name' members of 'rpc::Function<OrcRPCNegotiate, FunctionIdT(std::string)>'
(base class for OrcRPCNegotiate) and 'rpc::Function<OrcRPCResponse, void()>'
(base class for OrcRPCResponse), despite there being definitions for these
immediately below the rpc::Function class template.

This looks like the same bug that bit OrcRemoteTargetClient/Server in r286920.

<rdar://problem/34249745>



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312515 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-05 04:31:14 +00:00
Eric Beckmann
f74bed27b4 Move manifest utils into separate lib, to reduce libxml2 deps.
Summary:
Previously were in support.  Since many many things depend on support,
were all forced to also depend on libxml2, which we only want in a few cases.
This puts all the libxml2 deps in a separate lib to be used only in a few
places.

Reviewers: ruiu, thakis, rnk

Subscribers: mgorny, hiraditya, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309070 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-26 01:21:55 +00:00
Derek Schuff
634301e0f6 Update module map for RuntimeLibcalls
The def file was created in r308531

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308547 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-19 23:15:29 +00:00
Daniel Sanders
a07988d185 [globalisel][tablegen] Fix the modules build after r307079
Exclude InstructionSelectorImpl.h since DEBUG_TYPE may vary between includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307093 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-04 16:29:38 +00:00
Kamil Rytarowski
14b319c4ea Fix modular build
Exclude header Support/Solaris/sys/regset.h.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306061 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-22 21:28:48 +00:00
Kamil Rytarowski
fb1808c254 [Solaris] replace Solaris.h hack with a set of better hacks
Summary:
Got rid of unwieldy -include Solaris.h portability solution, replacing it with interposed header and moving endian defines into Host.h.

Fixes PR28370.

Reviewers: joerg, alekseyshl, mgorny

Reviewed By: joerg

Subscribers: llvm-commits, mgorny, ro, krytarowski

Patch by Fedor Sergeev.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306002 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-22 13:18:46 +00:00
Eric Fiselier
41609fea49 Add BinaryFormat module definition
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304928 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-07 17:16:25 +00:00
Eric Fiselier
6e94e63671 Adjust module.modulemap after r304864
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304878 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-07 08:05:31 +00:00
Vedant Kumar
4fb2b268d9 Fix CodeView-related modules build failures post-r304248
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304264 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-31 01:08:43 +00:00
Tim Northover
63e43bca44 Modules: fix modules build.
A recent commit made GlobalVariable.h depend on intrinsics generation, so (I
think) it needs to be in the lower-level module. I'll confirm with others, but
this should fix the bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302803 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 14:51:43 +00:00
Daniel Sanders
35c6dd2400 Recommit: [globalisel] Change LLT constructor string into an LLT-based object that knows how to generate it.
Summary:
This will allow future patches to inspect the details of the LLT. The implementation is now split between
the Support and CodeGen libraries to allow TableGen to use this class without introducing layering concerns.

Thanks to Ahmed Bougacha for finding a reasonable way to avoid the layering issue and providing the version of this patch without that problem.

The problem with the previous commit appears to have been that TableGen was including CodeGen/LowLevelType.h instead of Support/LowLevelTypeImpl.h.

Reviewers: t.p.northover, qcolombet, rovka, aditya_nandakumar, ab, javed.absar

Subscribers: arsenm, nhaehnle, mgorny, dberris, llvm-commits, kristof.beyls

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297241 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-07 23:20:35 +00:00
Daniel Sanders
428e17c613 Revert r297177: Change LLT constructor string into an LLT-based object ...
More module problems. This time it only showed up in the stage 2 compile of
clang-x86_64-linux-selfhost-modules-2 but not the stage 1 compile.

Somehow, this change causes the build to need Attributes.gen before it's been
generated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297188 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-07 19:21:23 +00:00
Daniel Sanders
86bbf4372b [globalisel] Change LLT constructor string into an LLT-based object that knows how to generate it.
Summary:
This will allow future patches to inspect the details of the LLT. The implementation is now split between
the Support and CodeGen libraries to allow TableGen to use this class without introducing layering concerns.

Thanks to Ahmed Bougacha for finding a reasonable way to avoid the layering issue and providing the version of this patch without that problem.

Reviewers: t.p.northover, qcolombet, rovka, aditya_nandakumar, ab, javed.absar

Subscribers: arsenm, nhaehnle, mgorny, dberris, llvm-commits, kristof.beyls

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297177 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-07 18:32:25 +00:00