summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Rename forgetLoopBackedgeTakenCount to forgetLoop, because itDan Gohman2009-10-314-11/+11
| | | | | | clears out more information than just the stored backedge taken count. llvm-svn: 85664
* Replace LoopUnrollPass.cpp's custom code-size estimation code usingDan Gohman2009-10-311-30/+5
| | | | | | the new common CodeMetrics code. llvm-svn: 85663
* Simplify this code.Dan Gohman2009-10-311-2/+2
| | | | llvm-svn: 85662
* Remove an unnecessary #include.Dan Gohman2009-10-311-1/+0
| | | | llvm-svn: 85661
* Update CMakeLists for recent renames.Dan Gohman2009-10-312-2/+2
| | | | llvm-svn: 85660
* Rename UnrollLoop.cpp to LoopUnroll.cpp, and LoopUnroll.cpp toDan Gohman2009-10-312-0/+0
| | | | | | | LoopUnrollPass.cpp, for consistency with other passes which are similarly split. llvm-svn: 85659
* Remove CodeGenLICM. It's largely obsoleted by MachineLICM's new abilityDan Gohman2009-10-313-119/+1
| | | | | | to unfold loop-invariant loads. llvm-svn: 85657
* Make ScalarEvolutionAliasAnalysis slightly more aggressive, by making anDan Gohman2009-10-311-13/+10
| | | | | | underlying alias call even for non-identified-object values. llvm-svn: 85656
* Reapply r85634, with the bug fixed.Dan Gohman2009-10-311-15/+17
| | | | llvm-svn: 85655
* When discarding SrcValue information, discard all of it so that codeDan Gohman2009-10-311-7/+5
| | | | | | that uses this information knows to behave conservatively. llvm-svn: 85654
* Fix 80-column violation.Dan Gohman2009-10-311-1/+2
| | | | llvm-svn: 85653
* Fix warning with gcc-4.0 and signed/unsigned.Eric Christopher2009-10-311-1/+1
| | | | llvm-svn: 85648
* It's safe to remat t2LDRpci; Add PseudoSourceValue to load / store's to ↵Evan Cheng2009-10-312-15/+31
| | | | | | enable more machine licm. More changes coming. llvm-svn: 85643
* Revert 85634. It's breaking consumer-typeset (and others).Evan Cheng2009-10-311-17/+15
| | | | llvm-svn: 85641
* Add assertion checks here to turn silent miscompiles into aborts.Dan Gohman2009-10-301-4/+8
| | | | llvm-svn: 85639
* Don't mark registers dead here when processing nodes with MVT::FlagDan Gohman2009-10-301-1/+5
| | | | | | | results. This works around a problem affecting targets which rely on MVT::Flag to handle physical register defs. llvm-svn: 85638
* Add a comment about a missed opportunity.Dan Gohman2009-10-301-0/+5
| | | | llvm-svn: 85635
* Optimize around the fact that pred_iterator is slow: instead of sortingDan Gohman2009-10-301-15/+17
| | | | | | | PHI operands by the predecessor order, sort them by the order used by the first PHI in the block. This is still suffucient to expose duplicates. llvm-svn: 85634
* Updates to the ARM target assembler for llvm-mc per review comments fromKevin Enderby2009-10-301-135/+134
| | | | | | | | | | | | | | | | | | Daniel Dunbar. - Reordered the fields in the ARMOperand Mem struct to make the struct smaller. Making bool's into 1 bit fields and put the MCExpr* fields adjacent to each other. - Fixed a number of places in ARMAsmParser.cpp so they have doxygen comments. - Change the name of ARMAsmParser::ParseRegister() to MaybeParseRegister and added the bool ParseWriteBack parameter. - Changed ARMAsmParser::ParseMemory() to call MaybeParseRegister(). - Added ARMAsmParser::ParseMemoryOffsetReg to factor out parsing the offset of a memory operand. And use it for both parsing both preindexed and post indexing addressing forms in ARMAsmParser::ParseMemory. - Changed the first argument to ParseShift() to a reference. - Changed ParseShift() to check for Rrx first and return to reduce nesting. llvm-svn: 85632
* If string field is empty then return NULL.Devang Patel2009-10-301-1/+4
| | | | llvm-svn: 85630
* if basic blocks are destroyed while there are *just* BlockAddress' hanging Chris Lattner2009-10-301-0/+18
| | | | | | | around, then zap them. This is analogous to dangling constantexprs hanging off functions. llvm-svn: 85627
* Teach SimplifyCFG how to eliminate duplicate PHI nodes within a block.Dan Gohman2009-10-301-0/+61
| | | | | | | This reduces codesize on a variety of codes by 1-2% on x86-64. It also helps clean up after SSAUpdater. llvm-svn: 85626
* make hasAddressTaken() constant time by storing a refcount in BB's subclass ↵Chris Lattner2009-10-302-13/+7
| | | | | | data. llvm-svn: 85625
* Add a note about Robert Muth's alternate jump table implementation.Bob Wilson2009-10-301-0/+9
| | | | llvm-svn: 85624
* Sort the incoming values in PHI nodes to match the predecessor order.Dan Gohman2009-10-301-0/+19
| | | | | | | This helps expose duplicate PHIs, which will make it easier for them to be eliminated. llvm-svn: 85623
* Fix MachineLICM to use the correct virtual register class whenDan Gohman2009-10-303-5/+13
| | | | | | | | | | unfolding loads for hoisting. getOpcodeAfterMemoryUnfold returns the opcode of the original operation without the load, not the load itself, MachineLICM needs to know the operand index in order to get the correct register class. Extend getOpcodeAfterMemoryUnfold to return this information. llvm-svn: 85622
* it isn't valid to take the address of the entry block.Chris Lattner2009-10-301-0/+2
| | | | llvm-svn: 85621
* If a type is derived from a derived type then calculate size appropriately.Devang Patel2009-10-301-3/+3
| | | | llvm-svn: 85619
* Fix a comment.Bob Wilson2009-10-301-1/+1
| | | | llvm-svn: 85610
* Add option to createGVNPass to disable PRE.Evan Cheng2009-10-301-2/+3
| | | | llvm-svn: 85609
* Stop the iterator in ValueLiveAt from potentially running off the end of the ↵Lang Hames2009-10-302-4/+7
| | | | | | interval. llvm-svn: 85599
* This fixes functions likeRafael Espindola2009-10-301-2/+1
| | | | | | | | | | | void f (int a1, int a2, int a3, int a4, int a5,...) In ARMTargetLowering::LowerFormalArguments if the function has 4 or more regular arguments we used to set VarArgsFrameIndex using an offset of 0, which is only correct if the function has exactly 4 regular arguments. llvm-svn: 85590
* Add ARM codegen for indirect branches.Bob Wilson2009-10-306-6/+23
| | | | | | clang/test/CodeGen/indirect-goto.c runs! (unoptimized) llvm-svn: 85577
* Most stack straces don't need 3 digits worth of levels.Dan Gohman2009-10-301-1/+1
| | | | llvm-svn: 85575
* Don't delete blocks which have their address taken.Dan Gohman2009-10-301-2/+3
| | | | llvm-svn: 85572
* Mention if a block has its address taken in debug output.Dan Gohman2009-10-301-0/+1
| | | | llvm-svn: 85571
* Simplify this code and avoid an extra space character in the output.Dan Gohman2009-10-301-2/+1
| | | | llvm-svn: 85568
* Add support for BlockAddress static initializers.Dan Gohman2009-10-301-0/+2
| | | | llvm-svn: 85562
* Add a FIXME comment.Dan Gohman2009-10-301-0/+2
| | | | llvm-svn: 85559
* Add some comments.Dan Gohman2009-10-301-0/+8
| | | | llvm-svn: 85558
* Initial x86 support for BlockAddresses.Dan Gohman2009-10-305-0/+40
| | | | llvm-svn: 85557
* Initial target-independent CodeGen support for BlockAddresses.Dan Gohman2009-10-307-3/+83
| | | | llvm-svn: 85556
* Dial back the realignment a bit.Jim Grosbach2009-10-301-9/+3
| | | | llvm-svn: 85546
* Between scheduling regions, correctly maintain anti-dep breaking state so ↵David Goodwin2009-10-291-5/+7
| | | | | | that we don't incorrectly rename registers that span these regions. llvm-svn: 85537
* Remove some unnecessary spaces in debug output.Dan Gohman2009-10-291-3/+3
| | | | llvm-svn: 85536
* Move some code from being emitted as boilerplate duplicated in everyDan Gohman2009-10-291-0/+52
| | | | | | *ISelDAGToDAG.cpp to being regular code in SelectionDAGISel.cpp. llvm-svn: 85530
* Fix a couple of bugs in aggressive anti-dep breaking.David Goodwin2009-10-292-36/+62
| | | | llvm-svn: 85522
* Refactor complicated predicate into a separate function.Bob Wilson2009-10-291-17/+33
| | | | llvm-svn: 85519
* First bitcase use may not lead to a dbg.declare intrinsic. Iterate uses ↵Devang Patel2009-10-291-3/+4
| | | | | | | | until one find's dbg.declare intrinsic. Patch by Sunae Seo. llvm-svn: 85518
* Rename usesCustomDAGSchedInserter to usesCustomInserter, and update aDan Gohman2009-10-2920-48/+50
| | | | | | | | bunch of associated comments, because it doesn't have anything to do with DAGs or scheduling. This is another step in decoupling MachineInstr emitting from scheduling. llvm-svn: 85517
OpenPOWER on IntegriCloud