Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ARM/MC/ELF relocation "hello world" for movw/movt. | Jason W Kim | 2010-12-01 | 3 | -45/+214 |
| | | | | | | | | | | | Lifted adjustFixupValue() from Darwin for sharing w ELF. Test added TODO: refactor ELFObjectWriter::RecordRelocation more. Possibly share more code with Darwin? Lots more relocations... llvm-svn: 120534 | ||||
* | Formatting. It's all the rage! | Bill Wendling | 2010-12-01 | 1 | -35/+37 |
| | | | | llvm-svn: 120533 | ||||
* | More refactoring. This time the T1pI pattern. | Bill Wendling | 2010-12-01 | 1 | -131/+96 |
| | | | | llvm-svn: 120532 | ||||
* | Refactor load/store handling again. Simplify and make some room for | Eric Christopher | 2010-12-01 | 1 | -103/+60 |
| | | | | | | reg+reg handling. llvm-svn: 120526 | ||||
* | Initialize an ARMConstantPoolValue field. | Jan Wen Voung | 2010-12-01 | 1 | -1/+1 |
| | | | | llvm-svn: 120525 | ||||
* | s/T1pIEncode/T1pILdStEncode/g | Bill Wendling | 2010-12-01 | 2 | -62/+62 |
| | | | | | | s/T1pIEncodeImm/T1pILdStEncodeImm/g llvm-svn: 120524 | ||||
* | Renaming variables to coincide with documentation. No functionality change. | Bill Wendling | 2010-12-01 | 2 | -21/+21 |
| | | | | llvm-svn: 120522 | ||||
* | fix a bozo bug I introduced in r119930, causing a miscompile of | Chris Lattner | 2010-12-01 | 2 | -1/+25 |
| | | | | | | | 20040709-1.c from the gcc testsuite. I was using the size of a pointer instead of the pointee. This fixes rdar://8713376 llvm-svn: 120519 | ||||
* | Refactor T1sI and T1sIt encodings into helper classes. | Bill Wendling | 2010-12-01 | 1 | -93/+78 |
| | | | | llvm-svn: 120518 | ||||
* | Support/PathV2: Add replace_extension implementation. | Michael J. Spencer | 2010-12-01 | 2 | -0/+24 |
| | | | | llvm-svn: 120514 | ||||
* | Support/PathV2: Add remove_filename implementation. | Michael J. Spencer | 2010-12-01 | 3 | -1/+13 |
| | | | | llvm-svn: 120513 | ||||
* | Refactor the T1sIt encodings into a parent class to get rid of all of the "let" | Bill Wendling | 2010-12-01 | 1 | -131/+85 |
| | | | | | | statements. llvm-svn: 120512 | ||||
* | Use by-name rather than by-order matching for NEON operands. | Owen Anderson | 2010-12-01 | 1 | -318/+318 |
| | | | | llvm-svn: 120507 | ||||
* | test/Archive: FileCheck-ize, and remove *.toc. These may be CRLF-tolerant. | NAKAMURA Takumi | 2010-12-01 | 8 | -25/+21 |
| | | | | llvm-svn: 120506 | ||||
* | Comment typo. | Andrew Trick | 2010-11-30 | 1 | -1/+1 |
| | | | | llvm-svn: 120504 | ||||
* | Enable sibling call optimization of libcalls which are expanded during | Evan Cheng | 2010-11-30 | 13 | -98/+229 |
| | | | | | | | | | | | legalization time. Since at legalization time there is no mapping from SDNode back to the corresponding LLVM instruction and the return SDNode is target specific, this requires a target hook to check for eligibility. Only x86 and ARM support this form of sibcall optimization right now. rdar://8707777 llvm-svn: 120501 | ||||
* | Rename operands to match ARM documentation. No functionality change. | Bill Wendling | 2010-11-30 | 2 | -101/+105 |
| | | | | llvm-svn: 120500 | ||||
* | Fix typo. | Jim Grosbach | 2010-11-30 | 1 | -1/+1 |
| | | | | llvm-svn: 120499 | ||||
* | Enhance DSE to handle the variable index case in PR8657. | Chris Lattner | 2010-11-30 | 2 | -2/+48 |
| | | | | llvm-svn: 120498 | ||||
* | Trailing whitespace. | Jim Grosbach | 2010-11-30 | 1 | -3/+3 |
| | | | | llvm-svn: 120497 | ||||
* | Support/PathV2: Implement reverse iteration and parent_path. | Michael J. Spencer | 2010-11-30 | 3 | -10/+148 |
| | | | | llvm-svn: 120496 | ||||
* | Support/ADT/StringRef: Add find_last_of. | Michael J. Spencer | 2010-11-30 | 2 | -0/+27 |
| | | | | llvm-svn: 120495 | ||||
* | Thanks to JimG for catching this! | Jason W Kim | 2010-11-30 | 1 | -0/+2 |
| | | | | llvm-svn: 120494 | ||||
* | remove fixme comment too. | Chris Lattner | 2010-11-30 | 1 | -3/+3 |
| | | | | llvm-svn: 120493 | ||||
* | check in *all* files. This is now handled by my previous DSE commit. | Chris Lattner | 2010-11-30 | 1 | -1/+1 |
| | | | | llvm-svn: 120492 | ||||
* | Coding style. No significant functionality. Abandon linear scan style | Andrew Trick | 2010-11-30 | 4 | -524/+548 |
| | | | | | | | | in favor of the widespread llvm style. Capitalize variables and add newlines for visual parsing. Rename variables for readability. And other cleanup. llvm-svn: 120490 | ||||
* | Inline classes that were used in only one place. | Bill Wendling | 2010-11-30 | 1 | -5/+2 |
| | | | | llvm-svn: 120488 | ||||
* | teach DSE to use GetPointerBaseWithConstantOffset to analyze | Chris Lattner | 2010-11-30 | 3 | -16/+70 |
| | | | | | | | | may-aliasing stores that partially overlap with different base pointers. This implements PR6043 and the non-variable part of PR8657 llvm-svn: 120485 | ||||
* | * Add support for encoding t_addrmode_s2 and t_addrmode_s1. They are the same as | Bill Wendling | 2010-11-30 | 5 | -90/+151 |
| | | | | | | | | | | t_addrmode_s4, but with a different scaling factor. * Encode the Thumb1 load and store instructions. This involved a bit of refactoring (hi, Chris! :-). Some of the patterns became dead afterwards and were removed. llvm-svn: 120482 | ||||
* | Simplify the encoding of reg+/-imm12 values that allow PC-relative encoding. ↵ | Owen Anderson | 2010-11-30 | 5 | -90/+16 |
| | | | | | | | | | This allows the Thumb2 encoding to share code with the ARM encoding, which gets use fixup support for free. It also allows us to fold away at least one codegen-only pattern. llvm-svn: 120481 | ||||
* | Fix handling of ARM negative pc-relative fixups for loads and stores. | Jim Grosbach | 2010-11-30 | 2 | -9/+36 |
| | | | | llvm-svn: 120480 | ||||
* | move GetPointerBaseWithConstantOffset out of GVN into ValueTracking.h | Chris Lattner | 2010-11-30 | 3 | -58/+59 |
| | | | | llvm-svn: 120476 | ||||
* | remove a fixed fixme | Chris Lattner | 2010-11-30 | 1 | -2/+0 |
| | | | | llvm-svn: 120474 | ||||
* | Make DeleteDeadInstruction be a static function, move some code around. | Chris Lattner | 2010-11-30 | 1 | -59/+64 |
| | | | | llvm-svn: 120471 | ||||
* | Move X86InstrFPStack.td over to PseudoI as well. | Eric Christopher | 2010-11-30 | 1 | -27/+9 |
| | | | | llvm-svn: 120470 | ||||
* | switch RemoveAccessedObjects to use AliasAnalysis::Location to simplify | Chris Lattner | 2010-11-30 | 1 | -17/+13 |
| | | | | | | | the code. We now get accurate sizes on Loads, though it surely doesn't matter in practice. llvm-svn: 120469 | ||||
* | two improvements to RemoveAccessedObjects: | Chris Lattner | 2010-11-30 | 1 | -28/+7 |
| | | | | | | | | | | | | | 1. if the underlying pointer passed in can be resolved to any argument or alloca, then we don't need to scan. Previously we would only avoid the scan if the alloca or byval was actually considered dead. 2. The dead store processing code is itself completely dead and didn't handle volatile stores right anyway, so delete it. This allows simplifying the interface to RemoveAccessedObjects. llvm-svn: 120467 | ||||
* | Migrate X86InstrControl.td to use PseudoI and fix a couple of 80-col violations | Eric Christopher | 2010-11-30 | 1 | -19/+15 |
| | | | | | | while I'm in there. llvm-svn: 120466 | ||||
* | remove the "undead" terminology, which is nonstandard and never | Chris Lattner | 2010-11-30 | 1 | -40/+47 |
| | | | | | | | | made sense to me. We now have a set of dead stack objects, and they become live when loaded. Fix a theoretical problem where we'd pass in the wrong pointer to the alias query. llvm-svn: 120465 | ||||
* | move call handling in handleEndBlock up a bit, and simplify it. | Chris Lattner | 2010-11-30 | 1 | -37/+40 |
| | | | | | | | | If the call might read all the allocas, stop scanning early. Convert a vector to smallvector, shrink SmallPtrSet to 16 instead of 64 to avoid crazy linear scans. llvm-svn: 120463 | ||||
* | Performance optimization on ImmutableMap/ImmutableSet: | Ted Kremenek | 2010-11-30 | 2 | -88/+159 |
| | | | | | | | | | | | | | | | | | | | | | | | | - Use a DenseSet instead of a FoldingSet to cache canonicalized nodes. This reduces the overhead of double-hashing. - Use reference counts in ImutAVLTree to much more aggressively recover tree nodes that are no longer usable. We can generate many transient nodes while using add() and remove() on ImmutableSet/ImmutableMaps to generate a final set/map. For the clang static analyzer (the main client of these data structures), this results in a slight speedup (0.5%) when analyzing sqlite3, but much more importantly results in a 30-60% reduction in peak memory usage when the analyzer is analyzing a given function in a file. On average that's about a ** 44% reduction ** in the memory footprint of the static analyzer. llvm-svn: 120459 | ||||
* | Avoid exponential growth of a table. It feels like | Dale Johannesen | 2010-11-30 | 1 | -5/+22 |
| | | | | | | there should be a better way to do this. PR 8679. llvm-svn: 120457 | ||||
* | Provide Thumb2 encodings for a few miscellaneous instructions. | Owen Anderson | 2010-11-30 | 1 | -8/+22 |
| | | | | llvm-svn: 120455 | ||||
* | various cleanups and code simplification | Chris Lattner | 2010-11-30 | 1 | -87/+63 |
| | | | | llvm-svn: 120454 | ||||
* | make getPointerSize a static function. Add ivars to DSE for | Chris Lattner | 2010-11-30 | 1 | -46/+42 |
| | | | | | | AA and MD pass info instead of using getAnalysis<> all over. llvm-svn: 120453 | ||||
* | reduce indentation, clean up TD use a bit. | Chris Lattner | 2010-11-30 | 1 | -28/+31 |
| | | | | llvm-svn: 120452 | ||||
* | Add FIXME | Jim Grosbach | 2010-11-30 | 1 | -0/+1 |
| | | | | llvm-svn: 120451 | ||||
* | forbid rtti and exceptions | Chris Lattner | 2010-11-30 | 1 | -0/+23 |
| | | | | llvm-svn: 120450 | ||||
* | Add encoding support for Thumb2 PLD and PLI instructions. | Owen Anderson | 2010-11-30 | 4 | -1/+45 |
| | | | | llvm-svn: 120449 | ||||
* | Noticed this on inspection, fix and update some comments. | Eric Christopher | 2010-11-30 | 1 | -3/+4 |
| | | | | llvm-svn: 120447 |