- Mar 11, 2012
-
-
Stepan Dyatkovskiy authored
Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default. Added some notes relative to case iterators. llvm-svn: 152532
-
- Mar 10, 2012
-
-
Benjamin Kramer authored
llvm-svn: 152474
-
- Mar 09, 2012
-
-
David Meyer authored
* Add enums and structures for GNU version information. * Implement extraction of that information on a per-symbol basis (ELFObjectFile::getSymbolVersion). * Implement a generic interface, GetELFSymbolVersion(), for getting the symbol version from the ObjectFile (hides the templating). * Have llvm-readobj print out the version, when available. * Add a test for the new feature: readobj-elf-versioning.test llvm-svn: 152436
-
- Mar 08, 2012
-
-
Duncan Sands authored
Patch by jey. llvm-svn: 152315
-
Stepan Dyatkovskiy authored
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html Implemented CaseIterator and it solves almost all described issues: we don't need to mix operand/case/successor indexing anymore. Base iterator class is implemented as a template since it may be initialized either from "const SwitchInst*" or from "SwitchInst*". ConstCaseIt is just a read-only iterator. CaseIt is read-write iterator; it allows to change case successor and case value. Usage of iterator allows totally remove resolveXXXX methods. All indexing convertions done automatically inside the iterator's getters. Main way of iterator usage looks like this: SwitchInst *SI = ... // intialize it somehow for (SwitchInst::CaseIt i = SI->caseBegin(), e = SI->caseEnd(); i != e; ++i) { BasicBlock *BB = i.getCaseSuccessor(); ConstantInt *V = i.getCaseValue(); // Do something. } If you want to convert case number to TerminatorInst successor index, just use getSuccessorIndex iterator's method. If you want initialize iterator from TerminatorInst successor index, use CaseIt::fromSuccessorIndex(...) method. There are also related changes in llvm-clients: klee and clang. llvm-svn: 152297
-
- Mar 05, 2012
-
-
Jim Grosbach authored
Used to allow context sensitive printing of super-register or sub-register references. llvm-svn: 152043
-
- Mar 03, 2012
-
-
David Meyer authored
llvm-svn: 151957
-
- Mar 01, 2012
-
-
David Meyer authored
Add ObjectFile::getLoadName() for retrieving the soname/installname of a shared object. llvm-svn: 151845
-
David Meyer authored
* Add begin_dynamic_table() / end_dynamic_table() private interface to ELFObjectFile. * Add begin_libraries_needed() / end_libraries_needed() interface to ObjectFile, for grabbing the list of needed libraries for a shared object or dynamic executable. * Implement this new interface completely for ELF, leave stubs for COFF and MachO. * Add 'llvm-readobj' tool for dumping ObjectFile information. llvm-svn: 151785
-
- Feb 29, 2012
-
-
David Meyer authored
[Object] Add symbol attribute flags: ST_ThreadLocal, ST_Common, and ST_Undefined. Implement these completely for ELF. Rename ST_External to ST_Unknown, and slightly change its semantics. It now only indicates that the symbol's type is unknown, not that the symbol is undefined. (For that, use ST_Undefined). llvm-svn: 151696
-
Derek Schuff authored
llvm-svn: 151687
-
Daniel Dunbar authored
llvm-svn: 151680
-
David Meyer authored
In the ObjectFile interface, replace isInternal(), isAbsolute(), isGlobal(), and isWeak(), with a bitset of flags. llvm-svn: 151670
-
- Feb 28, 2012
-
-
Michael J. Spencer authored
Add -D option to llvm-nm to dump dynamic symbols. Patch by David Meyer. llvm-svn: 151600
-
Hal Finkel authored
llvm-svn: 151596
-
- Feb 26, 2012
-
-
Nadav Rotem authored
Patch by Joey Gouly. llvm-svn: 151489
-
Nadav Rotem authored
llvm-svn: 151488
-
Nadav Rotem authored
llvm-svn: 151487
-
Nadav Rotem authored
Thanks zygoloid. llvm-svn: 151481
-
Nadav Rotem authored
llvm-svn: 151480
-
Nadav Rotem authored
Add a random .LL file generator to stress-test different llvm components. llvm-svn: 151479
-
- Feb 23, 2012
-
-
Duncan Sands authored
used if IsInDevelopmentTree is 'true'. But it doesn't, so help it out. llvm-svn: 151244
-
- Feb 22, 2012
-
-
Eli Friedman authored
llvm-svn: 151115
-
- Feb 19, 2012
-
-
Ahmed Charles authored
llvm-svn: 150918
-
- Feb 10, 2012
-
-
Andrew Trick authored
Creates a configurable regalloc pipeline. Ensure specific llc options do what they say and nothing more: -reglloc=... has no effect other than selecting the allocator pass itself. This patch introduces a new umbrella flag, "-optimize-regalloc", to enable/disable the optimizing regalloc "superpass". This allows for example testing coalscing and scheduling under -O0 or vice-versa. When a CodeGen pass requires the MachineFunction to have a particular property, we need to explicitly define that property so it can be directly queried rather than naming a specific Pass. For example, to check for SSA, use MRI->isSSA, not addRequired<PHIElimination>. CodeGen transformation passes are never "required" as an analysis ProcessImplicitDefs does not require LiveVariables. We have a plan to massively simplify some of the early passes within the regalloc superpass. llvm-svn: 150226
-
- Feb 07, 2012
-
-
Hal Finkel authored
llvm-svn: 150003
-
- Feb 06, 2012
-
-
Derek Schuff authored
This CL delays reading of function bodies from initial parse until materialization, allowing overlap of compilation with bitcode download. llvm-svn: 149918
-
Bill Wendling authored
llvm-svn: 149911
-
- Feb 05, 2012
-
-
Chris Lattner authored
but with a critical fix to the SelectionDAG code that optimizes copies from strings into immediate stores: the previous code was stopping reading string data at the first nul. Address this by adding a new argument to llvm::getConstantStringInfo, preserving the behavior before the patch. llvm-svn: 149800
-
- Feb 03, 2012
-
-
Cameron Zwarich authored
disassembler, just like the generic disassembler. llvm-svn: 149681
-
Cameron Zwarich authored
llvm-svn: 149674
-
Cameron Zwarich authored
dylib. This regressed with r145408. I will try to make a test case and add it so that this doesn't happen again. llvm-svn: 149667
-
- Feb 01, 2012
-
-
Stepan Dyatkovskiy authored
The purpose of refactoring is to hide operand roles from SwitchInst user (programmer). If you want to play with operands directly, probably you will need lower level methods than SwitchInst ones (TerminatorInst or may be User). After this patch we can reorganize SwitchInst operands and successors as we want. What was done: 1. Changed semantics of index inside the getCaseValue method: getCaseValue(0) means "get first case", not a condition. Use getCondition() if you want to resolve the condition. I propose don't mix SwitchInst case indexing with low level indexing (TI successors indexing, User's operands indexing), since it may be dangerous. 2. By the same reason findCaseValue(ConstantInt*) returns actual number of case value. 0 means first case, not default. If there is no case with given value, ErrorIndex will returned. 3. Added getCaseSuccessor method. I propose to avoid usage of TerminatorInst::getSuccessor if you want to resolve case successor BB. Use getCaseSuccessor instead, since internal SwitchInst organization of operands/successors is hidden and may be changed in any moment. 4. Added resolveSuccessorIndex and resolveCaseIndex. The main purpose of these methods is to see how case successors are really mapped in TerminatorInst. 4.1 "resolveSuccessorIndex" was created if you need to level down from SwitchInst to TerminatorInst. It returns TerminatorInst's successor index for given case successor. 4.2 "resolveCaseIndex" converts low level successors index to case index that curresponds to the given successor. Note: There are also related compatability fix patches for dragonegg, klee, llvm-gcc-4.0, llvm-gcc-4.2, safecode, clang. llvm-svn: 149481
-
Argyrios Kyrtzidis authored
These are: r149348 r149351 r149352 r149354 r149356 r149357 r149361 r149362 r149364 r149365 llvm-svn: 149470
-
Hal Finkel authored
This is the initial checkin of the basic-block autovectorization pass along with some supporting vectorization infrastructure. Special thanks to everyone who helped review this code over the last several months (especially Tobias Grosser). llvm-svn: 149468
-
- Jan 31, 2012
-
-
Chris Lattner authored
ConstantDataArray::getString instead. llvm-svn: 149365
-
Chris Lattner authored
update this to ConstantDataArray. There are no tests and this isn't using the preferred functionality for ripping apart strings, so I have no way to test this. llvm-svn: 149361
-
- Jan 30, 2012
-
-
Chris Lattner authored
should be feature complete now. Lets see if it works. llvm-svn: 149215
-
- Jan 27, 2012
-
-
Jim Grosbach authored
Provide source line number information. llvm-svn: 149101
-
Jim Grosbach authored
llvm-svn: 149091
-