summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* move call handling in handleEndBlock up a bit, and simplify it.Chris Lattner2010-11-301-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
* Skip two test classes due to:Johnny Chen2010-11-302-0/+2
| | | | | | rdar://problem/8710994 Assertion failed: (reg_info) GDBRemoteRegisterContext.cpp, line 199 llvm-svn: 120462
* Performance optimization on ImmutableMap/ImmutableSet:Ted Kremenek2010-11-302-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
* Implemented N3194Howard Hinnant2010-11-3020-1018/+59
| | | | llvm-svn: 120458
* Avoid exponential growth of a table. It feels likeDale Johannesen2010-11-301-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 Anderson2010-11-301-8/+22
| | | | llvm-svn: 120455
* various cleanups and code simplificationChris Lattner2010-11-301-87/+63
| | | | llvm-svn: 120454
* make getPointerSize a static function. Add ivars to DSE forChris Lattner2010-11-301-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 Lattner2010-11-301-28/+31
| | | | llvm-svn: 120452
* Add FIXMEJim Grosbach2010-11-301-0/+1
| | | | llvm-svn: 120451
* forbid rtti and exceptionsChris Lattner2010-11-301-0/+23
| | | | llvm-svn: 120450
* Add encoding support for Thumb2 PLD and PLI instructions.Owen Anderson2010-11-304-1/+45
| | | | llvm-svn: 120449
* Implement basic AST importing and merging support for class templateDouglas Gregor2010-11-305-5/+430
| | | | | | declarations. llvm-svn: 120448
* Noticed this on inspection, fix and update some comments.Eric Christopher2010-11-301-3/+4
| | | | llvm-svn: 120447
* Eliminate more pointless default statementsDouglas Gregor2010-11-301-5/+16
| | | | llvm-svn: 120446
* enhance isRemovable to refuse to delete volatile mem transfersChris Lattner2010-11-302-8/+35
| | | | | | | now that DSE hacks on them. This fixes a regression I introduced, by generalizing DSE to hack on transfers. llvm-svn: 120445
* The VLDMQ/VSTMQ instructions are reprented as true Pseudo-insts now (i.e.,Jim Grosbach2010-11-301-5/+0
| | | | | | | no extra encoding information), so we no longer need to special case them here. llvm-svn: 120444
* Tidy up.Jim Grosbach2010-11-301-2/+3
| | | | llvm-svn: 120443
* Pseudo-ize ARM MOVPCRXJim Grosbach2010-11-302-8/+19
| | | | llvm-svn: 120442
* Delete a few no longer needed references to pseudos.Jim Grosbach2010-11-301-4/+0
| | | | llvm-svn: 120441
* Change the basic block map in LoopInfo from a std::map to a DenseMap. This ↵Cameron Zwarich2010-11-301-4/+5
| | | | | | | | is a 16% speedup running loops on test-suite + SPEC2000. Reviewed by Eric Christopher. llvm-svn: 120440
* Provide encodings for a few more load/store variants.Owen Anderson2010-11-301-4/+16
| | | | llvm-svn: 120439
* Pseudo-ize BX_CALL and friends. Remove dead instruction format classes.Jim Grosbach2010-11-303-46/+66
| | | | | | rdar://8685712 llvm-svn: 120438
* Add objc_getClass as an objc builtin functionFariborz Jahanian2010-11-303-2/+8
| | | | | | | (// rdar://8592641). Also rename LANGUAGEID to LanguageID. llvm-svn: 120437
* Add tests for more forms of Thumb2 loads and stores.Owen Anderson2010-11-301-0/+32
| | | | llvm-svn: 120436
* add TLI support indicating that jumps are more expensive than logical operationsChris Lattner2010-11-303-2/+23
| | | | | | and use this to disable a specific optimization. Patch by Micah Villmow! llvm-svn: 120435
* Entire test class skipped due to:Johnny Chen2010-11-301-0/+1
| | | | | | rdar://problem/8710994 Assertion failed: (reg_info) GDBRemoteRegisterContext.cpp, line 199 llvm-svn: 120434
* L-value to r-value conversion is not ready for prime-time.John McCall2010-11-308-103/+43
| | | | llvm-svn: 120433
* Entire test class skipped due to:Johnny Chen2010-11-301-0/+1
| | | | | | rdar://problem/8710994 Assertion failed: (reg_info) GDBRemoteRegisterContext.cpp, line 199 llvm-svn: 120432
* Skipped two test cases due to seg fault while hadnling command:Johnny Chen2010-11-301-0/+2
| | | | | | | | | | Application Specific Information: HandleCommand(command = "expression self->str") radar:8711052 llvm-svn: 120431
* Entire test class skipped due to:Johnny Chen2010-11-301-0/+1
| | | | | | rdar://problem/8710994 Assertion failed: (reg_info) GDBRemoteRegisterContext.cpp, line 199 llvm-svn: 120430
* Such function decls,as objc's objc_msgSend, builtins in Fariborz Jahanian2010-11-308-91/+97
| | | | | | | | | a specific language. We are adding such language info. by extensing Builtins.def and via a language flag added to LIBBUILTIN/BUILTIN and check for that when deciding a name is builtin or not. Implements //rdar://8689273. llvm-svn: 120429
* ptx: add command-line options for gpu target and ptx versionChe-Liang Chiou2010-11-302-0/+24
| | | | llvm-svn: 120423
* Introduce an r-value to l-value cast kind. I'm not promising anythingJohn McCall2010-11-308-43/+103
| | | | | | about the reliability of this yet. llvm-svn: 120422
* Make the dumper safe against null declaration names.John McCall2010-11-301-0/+3
| | | | llvm-svn: 120421
* Update Xcode project: remove Action.cpp, add DumpXML.cpp.John McCall2010-11-301-4/+4
| | | | llvm-svn: 120420
* Not all platforms use _<func>. Duh.Eric Christopher2010-11-301-2/+2
| | | | llvm-svn: 120418
* Fix some grammar in comments I noticed.Eric Christopher2010-11-301-5/+5
| | | | llvm-svn: 120416
* This defaults to GenericDomain.Eric Christopher2010-11-301-1/+1
| | | | llvm-svn: 120415
* System was renamed Support. Fix the build.Duncan Sands2010-11-301-1/+1
| | | | llvm-svn: 120414
* PR5207: Make APInt::set(), APInt::clear() and APInt::flip() return void.Jay Foad2010-11-304-33/+39
| | | | llvm-svn: 120413
* Implement a PseudoI class and transfer the sse instructions over to useEric Christopher2010-11-302-12/+15
| | | | | | it. llvm-svn: 120412
* Fix insertion point in pcmp expander.Eric Christopher2010-11-301-9/+2
| | | | | | While I'm there, clean up too many \n even for me. llvm-svn: 120411
* Fix some cleanups from my last patch.Eric Christopher2010-11-302-5/+5
| | | | llvm-svn: 120410
* Take John McCall's suggestion and fix this silly gcc warnings in a way thatNick Lewycky2010-11-301-0/+2
| | | | | | Doug isn't likely to rip back out. llvm-svn: 120409
* Add parsing for the Thumb t_addrmode_s4 addressing mode. This can almostBill Wendling2010-11-305-14/+92
| | | | | | | | | | certainly be made more generic. But it does allow us to parse something like: ldr r3, [r2, r4] correctly in Thumb mode. llvm-svn: 120408
* ptx: add ld instructionChe-Liang Chiou2010-11-303-9/+118
| | | | | | | support register and register-immediate addressing mode todo: immediate and register-register addressing mode llvm-svn: 120407
* Rewrite the main DSE loop to be written in terms of reasoningChris Lattner2010-11-303-77/+142
| | | | | | | | | | | | | | about pairs of AA::Location's instead of looking for MemDep's "Def" predicate. This is more powerful and general, handling memset/memcpy/store all uniformly, and implementing PR8701 and probably obsoleting parts of memcpyoptimizer. This also fixes an obscure bug with init.trampoline and i8 stores, but I'm not surprised it hasn't been hit yet. Enhancing init.trampoline to carry the size that it stores would allow DSE to be much more aggressive about optimizing them. llvm-svn: 120406
* death to extraneous \n's.Chris Lattner2010-11-301-2/+1
| | | | llvm-svn: 120405
* Rewrite mwait and monitor support and custom lower arguments.Eric Christopher2010-11-304-4/+101
| | | | | | Fixes PR8573. llvm-svn: 120404
OpenPOWER on IntegriCloud