llvm/lib/IR
Rafael Espindola 38048cdb1c Reject alias to undefined symbols in the verifier.
On ELF and COFF an alias is just another name for a position in the file.
There is no way to refer to a position in another file, so an alias to
undefined is meaningless.

MachO currently doesn't support aliases. The spec has a N_INDR, which when
implemented will have a different set of restrictions. Adding support for
it shouldn't be harder than any other IR extension.

For now, having the IR represent what is actually possible with current
tools makes it easier to fix the design of GlobalAlias.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203705 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-12 20:15:49 +00:00
..
AsmWriter.cpp IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
AsmWriter.h IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
AttributeImpl.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
Attributes.cpp Revert "[C++11] Replace LLVM atomics with std::atomic." 2014-03-03 18:02:34 +00:00
AutoUpgrade.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
BasicBlock.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
CMakeLists.txt [Modules] Move the ConstantRange class into the IR library. This is 2014-03-04 12:24:34 +00:00
ConstantFold.cpp [Modules] Move GetElementPtrTypeIterator into the IR library. As its 2014-03-04 10:40:04 +00:00
ConstantFold.h
ConstantRange.cpp [Modules] Move the ConstantRange class into the IR library. This is 2014-03-04 12:24:34 +00:00
Constants.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
ConstantsContext.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
Core.cpp llvm-c: expose unnamedaddr field of globals 2014-03-10 19:24:35 +00:00
DataLayout.cpp [C++11] Modernize the IR library a bit. 2014-03-10 15:03:06 +00:00
DebugInfo.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
DebugLoc.cpp [Layering] Move DebugInfo.h into the IR library where its implementation 2014-03-06 00:46:21 +00:00
DiagnosticInfo.cpp Revert "[C++11] Replace LLVM atomics with std::atomic." 2014-03-03 18:02:34 +00:00
DiagnosticPrinter.cpp Report a warning when dropping outdated debug info metadata. 2014-01-16 01:51:12 +00:00
DIBuilder.cpp [Layering] Move DebugInfo.h into the IR library where its implementation 2014-03-06 00:46:21 +00:00
Dominators.cpp [Modules] Move CFG.h to the IR library as it defines graph traits over 2014-03-04 11:45:46 +00:00
Function.cpp Revert r203488 and r203520. 2014-03-12 18:09:37 +00:00
GCOV.cpp Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
Globals.cpp [Modules] Move the LeakDetector header into the IR library where the 2014-03-04 12:46:06 +00:00
GVMaterializer.cpp [Layering] Move GVMaterializer.h into the IR library where its 2014-03-06 03:50:29 +00:00
InlineAsm.cpp Remove copy ctors that did the same thing as the default one. 2014-03-11 11:32:49 +00:00
Instruction.cpp IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
Instructions.cpp IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
IntrinsicInst.cpp Remove spurious emacs major mode marker, these should only go on .h files. 2014-02-26 03:10:45 +00:00
IRBuilder.cpp
IRPrintingPasses.cpp [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
LeakDetector.cpp [Modules] Move the LeakDetector header into the IR library where the 2014-03-04 12:46:06 +00:00
LeaksContext.h
LegacyPassManager.cpp [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
LLVMBuild.txt
LLVMContext.cpp Add 'remark' diagnostic type in LLVM 2014-02-28 09:08:45 +00:00
LLVMContextImpl.cpp Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
LLVMContextImpl.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
Makefile
Mangler.cpp Add back r201608, r201622, r201624 and r201625 2014-02-19 17:23:20 +00:00
Metadata.cpp [C++11] Modernize the IR library a bit. 2014-03-10 15:03:06 +00:00
Module.cpp Module: Don't rename in getOrInsertFunction() 2014-03-10 23:42:28 +00:00
Pass.cpp [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
PassManager.cpp [PM] While I'm here, fix a few other clang-format issues. Pulls some 2014-03-10 02:12:14 +00:00
PassRegistry.cpp [opt][PassInfo] Allow opt to run passes that need target machine. 2014-01-16 21:44:34 +00:00
SymbolTableListTraitsImpl.h
Type.cpp Mark some Type and EVT methods as LLVM_READONLY. 2013-12-28 16:17:26 +00:00
TypeFinder.cpp
Use.cpp [cleanup] Add a getOperandNo method to the Use class and implement it 2014-03-04 09:19:43 +00:00
User.cpp
Value.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp Reject alias to undefined symbols in the verifier. 2014-03-12 20:15:49 +00:00