summaryrefslogtreecommitdiffstats
path: root/lld/lib/Core
Commit message (Collapse)AuthorAgeFilesLines
...
* Removed unnecessary "class" keyword.Rui Ueyama2013-06-211-1/+1
| | | | llvm-svn: 184589
* Factor duplicated yamlReader creation.Rafael Espindola2013-06-111-0/+5
| | | | | | | | | | | The yaml reader is not specific to any file format. This patch moves it to TargetInfo and makes validate a non virtual interface so that it can be constructed from a single location. The same method will be used to create a reader for llvm bitcode files. llvm-svn: 183740
* Instrument things.Michael J. Spencer2013-05-282-1/+8
| | | | llvm-svn: 182789
* [lld] Use range based for loop instead of explicit iterators (no ↵Rui Ueyama2013-05-091-3/+2
| | | | | | functionality change) llvm-svn: 181503
* [lld] Add comments to InputFiles::searchLibraries() arguments.Rui Ueyama2013-05-081-4/+11
| | | | llvm-svn: 181492
* Use anonymous namespace for local classes. Patch by Rui UeyamaNick Kledzik2013-05-081-2/+6
| | | | llvm-svn: 181473
* [Core] Allow weak symbols in shared library when linking.Michael J. Spencer2013-04-241-11/+13
| | | | | | Patch by Rui Ueyama. llvm-svn: 180209
* This adds functionality for undefined atoms from dynamic libraries to be addedShankar Easwaran2013-04-112-25/+27
| | | | | | | | | | | | to the list of undefined atoms. The processing of undefined atoms from dynamic libraries is controlled by use-shlib-undefines command line option. This patch also adds additional command line arguments to allow/disallow unresolved symbols from shared libraries and mimics GNU ld behavior. llvm-svn: 179257
* Add VTune as an optional external dependency and add task tracking.Michael J. Spencer2013-04-061-0/+2
| | | | llvm-svn: 178940
* Revert "Correctly pass ownership of MemoryBuffers."Michael J. Spencer2013-04-051-1/+2
| | | | llvm-svn: 178918
* Correctly pass ownership of MemoryBuffers.Michael J. Spencer2013-04-051-3/+2
| | | | llvm-svn: 178914
* Fix uninitialized variables. Found by ubsan.Michael J. Spencer2013-04-051-0/+1
| | | | llvm-svn: 178913
* This is my Driver refactoring patch. Nick Kledzik2013-04-043-42/+66
| | | | | | | | | | | | | | | | | | | | | | | The major changes are: 1) LinkerOptions has been merged into TargetInfo 2) LinkerInvocation has been merged into Driver 3) Drivers no longer convert arguments into an intermediate (core) argument list, but instead create a TargetInfo object and call setter methods on it. This is only how in-process linking would work. That is, you can programmatically set up a TargetInfo object which controls the linking. 4) Lots of tweaks to test suite to work with driver changes 5) Add the DarwinDriver 6) I heavily doxygen commented TargetInfo.h Things to do after this patch is committed: a) Consider renaming TargetInfo, given its new roll. b) Consider pulling the list of input files out of TargetInfo. This will enable in-process clients to create one TargetInfo the re-use it with different input file lists. c) Work out a way for Drivers to format the warnings and error done in core linking. llvm-svn: 178776
* [SymbolTable][Perf] Use hash_combine instead of a custom hash, also use memcmp.Michael J. Spencer2013-03-201-14/+9
| | | | | | | | | | ArrayRef<uint8_t>::equals(); lowers to a byte compare loop :(. TODO: Figure out if we are getting hash collisions, or just have a lot of equal content. Also test if crypto hashing the content instead of full compare is better. llvm-svn: 177588
* [lld] remove trailing whitespaceShankar Easwaran2013-03-144-11/+11
| | | | llvm-svn: 177079
* Add basic linker script parsing.Michael J. Spencer2013-03-011-6/+28
| | | | llvm-svn: 176309
* [ELF][Hexagon]add typeZeroFillFastShankar Easwaran2013-02-241-0/+1
| | | | llvm-svn: 175983
* add changes for typeDataFastShankar Easwaran2013-02-221-0/+1
| | | | llvm-svn: 175901
* [Resolver] Improve undefined symbol error.Michael J. Spencer2013-02-031-1/+2
| | | | llvm-svn: 174277
* [Core] Only complain about undefined symbols if they are marked as ↵Michael J. Spencer2013-01-312-9/+13
| | | | | | canBeNullNever. llvm-svn: 174107
* Add SectionPosition and OrderPassNick Kledzik2013-01-234-3/+34
| | | | llvm-svn: 173300
* Add PassManager.Michael J. Spencer2013-01-232-0/+24
| | | | | | It owns and manages passes. llvm-svn: 173287
* [Core] Move Resolver and SymbolTable over to TargetInfo.Michael J. Spencer2013-01-222-20/+25
| | | | | | No functionality change. llvm-svn: 173192
* Add {,ELF,MachO}TargetInfo.Michael J. Spencer2013-01-222-0/+36
| | | | llvm-svn: 173117
* Add new merge-by-content Merge attribute for use by anonymousNick Kledzik2013-01-152-8/+13
| | | | | | constants and string literals which the linker should coalesce. llvm-svn: 172495
* Better tie together ContentType and Permissions. Nick Kledzik2013-01-092-0/+79
| | | | | | | | | | Since most content types (e.g. typeCode) have a preferred Permission, add a function to do that mapping. Then hook up to YAML Reader and Writer such that the 'permissions:' key does not need to be specified unless overriding what the content type prefers. llvm-svn: 171929
* fix typoNick Kledzik2013-01-081-1/+1
| | | | llvm-svn: 171916
* Removes files for separate ReaderYAML.cpp and WriterYAML.cpp Nick Kledzik2013-01-051-0/+6
| | | | | | | | and adds a new file ReaderWriterYAML.cpp that uses YAML I/O. Lots of tweaks to test suite for slightly different YAML encoding. llvm-svn: 171592
* Style fixes.Michael J. Spencer2013-01-041-9/+0
| | | | llvm-svn: 171531
* Slightly better diagnostics on duplicate symbols.Michael J. Spencer2013-01-041-0/+9
| | | | llvm-svn: 171528
* Add library dependencies to the lld cmake build.Benjamin Kramer2012-12-041-0/+2
| | | | llvm-svn: 169306
* Add absolute symbol scope recognition in lld/CoreHemant Kulkarni2012-11-051-1/+3
| | | | llvm-svn: 167394
* use llvm_unreachable() instead of assert(0) for invalid enum values in ↵Nick Kledzik2012-06-151-1/+1
| | | | | | switch statements llvm-svn: 158542
* Major refactoring: Remove Platform concept. In its place there are Nick Kledzik2012-05-3112-3895/+53
| | | | | | | | now Reader and Writer subclasses for each file format. Each Reader and Writer subclass defines an "options" class which controls how that Reader or Writer operates. llvm-svn: 157774
* Remove some compilation warnings.Filipe Cabecinhas2012-05-221-1/+1
| | | | llvm-svn: 157253
* remove completed itemsNick Kledzik2012-05-041-8/+0
| | | | llvm-svn: 156143
* Rework how YAMLReader is layered on top of YAMLParser. Turn hand writtenNick Kledzik2012-05-035-615/+854
| | | | | | | | recursive descent functions into one table driven parser. Add proper error recovery and reporting. Add lots of test cases with semantics errors and verify error messages. llvm-svn: 156136
* Convert the YAMLReader to use LLVM/Support/YAMLParser.Michael J. Spencer2012-04-303-696/+517
| | | | llvm-svn: 155847
* Remove whitespace.Michael J. Spencer2012-04-301-8/+8
| | | | llvm-svn: 155846
* Add way to represent static archives in yaml test cases.Nick Kledzik2012-04-207-27/+246
| | | | | | | | | Add SharedLibraryFile and ArchiveLibraryFile subclasses of File. Add command line options to lld-core to set various ResolverOptions settings and added lots of test cases to verify the options work. llvm-svn: 155183
* Factor out core linking options from Platform in a new ResolverOptionsNick Kledzik2012-04-185-124/+88
| | | | | | | | | | class. Change Resolver to no longer use Platform. Core linking now issues errors directly. We need to factor that out later. Rework how Darwin executable writer finds "main" atom. It now adds to core linking an Atom which has a Reference to "main". llvm-svn: 155060
* Remove definedAtomsBegin() and co. so that C++11 range based for loops can ↵Nick Kledzik2012-04-092-37/+21
| | | | | | be used llvm-svn: 154302
* Rename referencesBegin() to begin() so that C++11 range based for loops can ↵Nick Kledzik2012-04-085-57/+34
| | | | | | be used llvm-svn: 154301
* [docs] Add more open projects.Michael J. Spencer2012-04-081-5/+6
| | | | llvm-svn: 154277
* [docs] Add open projects page that includes the TODO.txt files.Michael J. Spencer2012-04-071-13/+14
| | | | llvm-svn: 154274
* Add to-do listsNick Kledzik2012-04-071-0/+24
| | | | llvm-svn: 154246
* First implementation of Darwin Platform. It is rich enough to generateNick Kledzik2012-04-078-7/+53
| | | | | | | | | | a hello world executable from atoms. There is still much to be flushed out. Added one test case, test/darwin/hello-world.objtxt, which exercises the darwin platform. Added -platform option to lld-core tool to dynamically select platform. llvm-svn: 154242
* Remove trailing whitespace.Michael J. Spencer2012-04-039-362/+360
| | | | llvm-svn: 153964
* Steal LLVM.h from Clang. This brings in very commonly used LLVM ADT/SupportMichael J. Spencer2012-04-037-133/+132
| | | | | | types into the lld namespace. llvm-svn: 153963
* Use the LLVM RTTI library.Michael J. Spencer2012-04-022-20/+25
| | | | llvm-svn: 153912
OpenPOWER on IntegriCloud