llvm-6502/include/llvm/IR
Chandler Carruth e608d695de [PM] Make the verifier work independently of any pass manager.
This makes the 'verifyFunction' and 'verifyModule' functions totally
independent operations on the LLVM IR. It also cleans up their API a bit
by lifting the abort behavior into their clients and just using an
optional raw_ostream parameter to control printing.

The implementation of the verifier is now just an InstVisitor with no
multiple inheritance. It also is significantly more const-correct, and
hides the const violations internally. The two layers that force us to
break const correctness are building a DomTree and dispatching through
the InstVisitor.

A new VerifierPass is used to implement the legacy pass manager
interface in terms of the other pieces.

The error messages produced may be slightly different now, and we may
have slightly different short circuiting behavior with different usage
models of the verifier, but generally everything works equivalently and
this unblocks wiring the verifier up to the new pass manager.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199569 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-19 02:22:18 +00:00
..
Argument.h Add an inalloca flag to allocas 2014-01-17 23:58:17 +00:00
AssemblyAnnotationWriter.h Move the LLVM IR asm writer header files into the IR directory, as they 2014-01-07 12:34:26 +00:00
Attributes.h Begin adding docs and IR-level support for the inalloca attribute 2013-12-19 02:14:12 +00:00
BasicBlock.h This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
CallingConv.h Add two new calling conventions for runtime calls 2014-01-17 19:47:03 +00:00
CMakeLists.txt [CMake] Introduce LLVM_INCLUDE_DIR. 2013-12-16 15:05:39 +00:00
Constant.h
Constants.h Add a const lookup routine to get a BlockAddress constant if there is 2014-01-19 02:13:50 +00:00
DataLayout.h Use 'w' instead of 'c' to represent the win32 mangling. 2014-01-10 13:42:12 +00:00
DerivedTypes.h Fix the segfault reported in PR 11990. 2013-12-07 00:13:34 +00:00
DiagnosticInfo.h Report a warning when dropping outdated debug info metadata. 2014-01-16 01:51:12 +00:00
DiagnosticPrinter.h Report a warning when dropping outdated debug info metadata. 2014-01-16 01:51:12 +00:00
Dominators.h [PM] Split DominatorTree into a concrete analysis result object which 2014-01-13 13:07:17 +00:00
Function.h Implement function prefix data as an IR feature. 2013-09-16 01:08:15 +00:00
GlobalAlias.h Add a GlobalAlias::isValidLinkage to reduce code duplication. 2013-10-09 16:07:32 +00:00
GlobalValue.h Decouple dllexport/dllimport from linkage 2014-01-14 15:22:47 +00:00
GlobalVariable.h Clarify that GlobalVariables definitions must have an initializer. 2013-10-29 13:44:11 +00:00
InlineAsm.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
InstrTypes.h Revert "Remove isCastable since nothing uses it now" 2013-07-30 22:02:14 +00:00
Instruction.def Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
Instruction.h
Instructions.h Add an inalloca flag to allocas 2014-01-17 23:58:17 +00:00
IntrinsicInst.h
Intrinsics.h Enable variable arguments support for intrinsics. 2013-10-31 17:18:11 +00:00
Intrinsics.td Grow the stackmap/patchpoint format to hold 64-bit IDs. 2013-12-13 18:37:10 +00:00
IntrinsicsAArch64.td [AArch64] Refactor NEON floating-point Max/Min/Maxnm/Minnm across vector AArch64 2013-12-11 23:21:25 +00:00
IntrinsicsARM.td Export intrinsics:__builtin_arm_{dmb,dsb} to frontend 2013-11-12 19:57:43 +00:00
IntrinsicsHexagon.td
IntrinsicsMips.td [mips][msa] Correct sld and sldi builtins. 2013-12-10 11:37:00 +00:00
IntrinsicsNVVM.td [NVPTX] Remove i8 register class. PTX support for i8 (.b8, .u8, .s8) is rather poor and we're better off just ignoring it and letting LLVM expand all i8 ops out to i16. 2013-06-28 17:57:59 +00:00
IntrinsicsPowerPC.td Implement PPC counter loops as a late IR-level pass 2013-05-15 21:37:41 +00:00
IntrinsicsR600.td
IntrinsicsX86.td AVX-512: Embedded Rounding Control - encoding and printing 2014-01-13 12:55:03 +00:00
IntrinsicsXCore.td remove executable permission from IntrinsicsXCore.td 2013-08-01 17:17:59 +00:00
IRBuilder.h Fix a bug in IRBuilder that's been there for who knows how long. It 2014-01-05 03:22:33 +00:00
IRPrintingPasses.h [PM] Fix stale header blocker, found by Duncan Smith in code review! 2014-01-14 05:50:19 +00:00
LegacyPassManager.h Move the old pass manager infrastructure into a legacy namespace and 2013-11-09 12:26:54 +00:00
LegacyPassManagers.h Fix comments for PassDebuggingString 2013-12-08 01:28:17 +00:00
LLVMContext.h Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
Mangler.h Remove vestigal bits of MC from the mangler. It no longer uses this, and 2014-01-08 21:59:22 +00:00
MDBuilder.h Struct-path aware TBAA: change the format of TBAAStructType node. 2013-04-27 00:26:11 +00:00
Metadata.h Debug Info: Move the constant for Debug Info Version from Dwarf.h to Metadata.h. 2013-12-02 20:09:52 +00:00
Module.h Return an error_code from materializeAllPermanently. 2014-01-14 23:51:27 +00:00
OperandTraits.h
Operator.h Fix more instances of dropped fast math flags when optimizing FADD instructions. All found by inspection (aka grep). 2014-01-18 00:48:14 +00:00
PassManager.h [PM] Add names to passes under the new pass manager, and a debug output 2014-01-11 11:52:05 +00:00
SymbolTableListTraits.h
Type.h Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
TypeBuilder.h #include <climits> instead of <limits.h> in C++ header file. 2013-06-13 23:49:09 +00:00
TypeFinder.h
Use.h Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
User.h Cleanup the simplify_type implementation. 2013-03-27 16:43:11 +00:00
Value.h Put the functionality for printing a value to a raw_ostream as an 2014-01-09 02:29:41 +00:00
ValueSymbolTable.h
Verifier.h [PM] Make the verifier work independently of any pass manager. 2014-01-19 02:22:18 +00:00