llvm-6502/include/llvm
Mehdi Amini c94da20917 Make DataLayout Non-Optional in the Module
Summary:
DataLayout keeps the string used for its creation.

As a side effect it is no longer needed in the Module.
This is "almost" NFC, the string is no longer
canonicalized, you can't rely on two "equals" DataLayout
having the same string returned by getStringRepresentation().

Get rid of DataLayoutPass: the DataLayout is in the Module

The DataLayout is "per-module", let's enforce this by not
duplicating it more than necessary.
One more step toward non-optionality of the DataLayout in the
module.

Make DataLayout Non-Optional in the Module

Module->getDataLayout() will never returns nullptr anymore.

Reviewers: echristo

Subscribers: resistor, llvm-commits, jholewinski

Differential Revision: http://reviews.llvm.org/D7992

From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231270 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-04 18:43:29 +00:00
..
ADT Revert "[ADT] fail-fast iterators for DenseMap" 2015-03-04 06:05:37 +00:00
Analysis Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
AsmParser Pass a MemoryBufferRef when we can avoid taking ownership. 2014-08-26 21:49:01 +00:00
Bitcode [opaque pointer type] Bitcode support for explicit type parameter on GEP. 2015-02-25 01:08:52 +00:00
CodeGen Move emitDIE and emitAbbrevs to AsmPrinter. NFC. 2015-03-04 02:30:17 +00:00
Config [Support/Timer] Make GetMallocUsage() aware of jemalloc. 2015-02-19 07:27:14 +00:00
DebugInfo [llvm-pdbdump] Display full enum definitions. 2015-03-04 06:09:53 +00:00
ExecutionEngine Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
IR Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
IRReader Pass a MemoryBufferRef when we can avoid taking ownership. 2014-08-26 21:49:01 +00:00
LineEditor [C++11] Replace OwningPtr with std::unique_ptr in places where it doesn't break the API. 2014-04-21 09:34:48 +00:00
Linker [LTO API] add lto_codegen_set_module to set the destination module. 2015-02-24 00:45:56 +00:00
LTO [LTO API] fix memory leakage introduced at r230290. 2015-02-25 21:20:53 +00:00
MC [MC][Target] Implement support for R_X86_64_SIZE{32,64}. 2015-03-04 06:49:39 +00:00
Object Object: Add range iterators to Archive symbols 2015-03-04 02:05:06 +00:00
Option Remove explicit no-op dtor in favor of the implicit dtor so as not to disable/deprecate the copy operations. 2015-03-03 19:53:02 +00:00
ProfileData Add another missing header that used to be included transitively. 2015-03-02 01:08:07 +00:00
Support Revert r231221, "Devirtualize ~parser<T> by making it protected in base classes and making derived classes final" 2015-03-04 16:24:40 +00:00
TableGen Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
Target Mutate TargetLowering::shouldExpandAtomicRMWInIR to specifically dictate how AtomicRMWInsts are expanded. 2015-03-04 15:47:57 +00:00
Transforms Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
CMakeLists.txt Remove llvm_headers_do_not_build for the benefit of XCode and Visual Studio users. 2014-08-14 00:51:47 +00:00
InitializePasses.h Remove the Forward Control Flow Integrity pass and its dependencies. 2015-02-27 19:03:38 +00:00
LinkAllIR.h
LinkAllPasses.h Remove the Forward Control Flow Integrity pass and its dependencies. 2015-02-27 19:03:38 +00:00
module.modulemap [modules] Add include/llvm/IR/DebugInfoFlags.def to the textual headers list. 2015-02-25 01:44:09 +00:00
module.modulemap.build [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
Pass.h Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
PassAnalysisSupport.h Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
PassInfo.h Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
PassRegistry.h [PM] Remove an unused and rather expensive mapping from an analysis 2014-10-06 00:30:59 +00:00
PassSupport.h Defining a new API for debug options that doesn't rely on static global cl::opts. 2014-10-15 21:54:35 +00:00