summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Simplify extract element based on comments from Duncan Sands.Mon P Wang2009-01-181-7/+3
| | | | llvm-svn: 62459
* Remove tabs.Devang Patel2009-01-171-19/+19
| | | | llvm-svn: 62423
* Refactor codeDevang Patel2009-01-171-118/+73
| | | | llvm-svn: 62421
* Assign argument type to appropriate DIE.Devang Patel2009-01-171-2/+2
| | | | llvm-svn: 62412
* Remove dead code.Devang Patel2009-01-171-14/+2
| | | | llvm-svn: 62410
* Disable composite type debug info for now.Devang Patel2009-01-171-0/+3
| | | | llvm-svn: 62406
* Simplify extract element of a scalar to vector.Mon P Wang2009-01-171-5/+13
| | | | llvm-svn: 62383
* Instead of adding dependence edges between terminator instructionsDan Gohman2009-01-166-25/+65
| | | | | | | | | | | | | | and every other instruction in their blocks to keep the terminator instructions at the end, teach the post-RA scheduler how to operate on ranges of instructions, and exclude terminators from the range of instructions that get scheduled. Also, exclude mid-block labels, such as EH_LABEL instructions, and schedule code before them separately from code after them. This fixes problems with the post-RA scheduler moving code past EH_LABELs. llvm-svn: 62366
* If an anti-dependence uses a non-allocatable register, set AntiDepRegDan Gohman2009-01-161-1/+3
| | | | | | | to 0, to ensure that the subsequent code doesn't try to break the dependence. llvm-svn: 62365
* Use the getNode() accessor instead of accessing the NodeDan Gohman2009-01-161-1/+1
| | | | | | member directly, which is private as of r55504. llvm-svn: 62364
* Fix the check for an empty basic block to check for an empty SUnitsDan Gohman2009-01-161-2/+2
| | | | | | | | array instead, since this is what the scheduler actually cares about. And remove a check that is unnecessary, since it can assume that SUnits isn't empty. llvm-svn: 62362
* new nodes should be added to the worklist, not old nodes.Chris Lattner2009-01-161-1/+2
| | | | llvm-svn: 62359
* Fix comments.Devang Patel2009-01-161-5/+5
| | | | llvm-svn: 62358
* CreateVirtualRegisters does trivial copy coalescing. If a node def is used ↵Evan Cheng2009-01-162-56/+63
| | | | | | by a single CopyToReg, it reuses the virtual register assigned to the CopyToReg. This won't work for SDNode that is a clone or is itself cloned. Disable this optimization for those nodes or it can end up with non-SSA machine instructions. llvm-svn: 62356
* Use lightweight DebugInfo objects directly.Devang Patel2009-01-161-51/+50
| | | | llvm-svn: 62341
* Align source code.Devang Patel2009-01-161-4/+4
| | | | llvm-svn: 62328
* Fix a "comparison between signed and unsigned integer expressions"Dan Gohman2009-01-161-1/+1
| | | | | | warning. llvm-svn: 62327
* Registry.h should not depend on CommandLine.h.Mikhail Glushenkov2009-01-164-0/+4
| | | | | | | Split Support/Registry.h into two files so that we have less to recompile every time CommandLine.h is changed. llvm-svn: 62312
* Delete trailing whitespace.Mikhail Glushenkov2009-01-164-323/+323
| | | | llvm-svn: 62307
* Validate debug info values only if DwarfDebug is initialized.Devang Patel2009-01-161-1/+1
| | | | llvm-svn: 62298
* Any debug info symbol is only valid if atleast one compile unit is seen.Devang Patel2009-01-161-0/+4
| | | | llvm-svn: 62294
* Initial hazard recognizer support in post-pass scheduling. This includesDan Gohman2009-01-162-9/+120
| | | | | | | a new toy hazard recognizier heuristic which attempts to direct the scheduler to avoid clumping large groups of loads or stores too densely. llvm-svn: 62291
* Do not stumble over forward declared struct member. Devang Patel2009-01-161-0/+5
| | | | llvm-svn: 62288
* Validate dbg_* intrinsics before lowering them.Devang Patel2009-01-153-10/+55
| | | | llvm-svn: 62286
* Added missing support to widen an operand from a bit convert.Mon P Wang2009-01-152-0/+32
| | | | llvm-svn: 62285
* Generalize the HazardRecognizer interface so that it can be usedDan Gohman2009-01-153-23/+14
| | | | | | | to support MachineInstr-based scheduling in addition to SDNode-based scheduling. llvm-svn: 62284
* Simplify the MachineLICM pass by having it only traverse outerDan Gohman2009-01-151-122/+60
| | | | | | | | | loops, hoisting instructions all the way out in one step rather than hoisting them one nest level at a time. Also, make a few other code simplifications. This speeds up MachineLICM by several fold. llvm-svn: 62283
* Add the private linkage.Rafael Espindola2009-01-155-6/+13
| | | | llvm-svn: 62279
* Use lightweight DebugInfo objects directly.Devang Patel2009-01-151-82/+65
| | | | llvm-svn: 62276
* Move a few containers out of ScheduleDAGInstrs::BuildSchedGraphDan Gohman2009-01-1512-108/+103
| | | | | | | | | | | and into the ScheduleDAGInstrs class, so that they don't get destructed and re-constructed for each block. This fixes a compile-time hot spot in the post-pass scheduler. To help facilitate this, tidy and do some minor reorganization in the scheduler constructor functions. llvm-svn: 62275
* Use variable's context to identify respective DbgScope.Devang Patel2009-01-151-11/+25
| | | | | | Use light weight DebugInfo object directly. llvm-svn: 62269
* Make getWidenVectorType const; this file was missed in theDan Gohman2009-01-151-1/+1
| | | | | | previous commit. llvm-svn: 62266
* More consts on TargetLowering references.Dan Gohman2009-01-154-10/+9
| | | | llvm-svn: 62262
* Use const with TargetLowering references in a few more places.Dan Gohman2009-01-152-5/+7
| | | | llvm-svn: 62260
* minor refactoring: use a more specific APIGabor Greif2009-01-151-2/+3
| | | | llvm-svn: 62256
* Do not construct debug scope if RootScope *is* null.Devang Patel2009-01-141-1/+1
| | | | llvm-svn: 62209
* Removoe MachineModuleInfo methods (and related DebugInfoDesc class ↵Devang Patel2009-01-133-2453/+10
| | | | | | hierarchy) that were used to handle debug info. llvm-svn: 62199
* Keep "has debug info" big in MachineModuleInfo to avoid circular dependency ↵Devang Patel2009-01-132-0/+2
| | | | | | between AsmPrinter and CodeGen. llvm-svn: 62191
* Undo previous checkin.Devang Patel2009-01-132-9/+2
| | | | llvm-svn: 62190
* Use DwarfWriter to record dbg variables.Devang Patel2009-01-132-4/+11
| | | | llvm-svn: 62185
* Use dwarf writer to decide whether the module has debug info or not.Devang Patel2009-01-132-2/+9
| | | | llvm-svn: 62184
* Use assertions to check for conditions that should never happen.Dan Gohman2009-01-131-12/+6
| | | | llvm-svn: 62178
* The list-td and list-tdrr schedulers don't yet support physregDan Gohman2009-01-132-2/+10
| | | | | | | | | | | scheduling dependencies. Add assertion checks to help catch this. It appears the Mips target defaults to list-td, and it has a regression test that uses a physreg dependence. Such code was liable to be miscompiled, and now evokes an assertion failure. llvm-svn: 62177
* Avoid referring to edge D after the Succs or Preds arrays haveDan Gohman2009-01-131-3/+3
| | | | | | | been modified, to avoid trouble in the (unlikely) scenario that D is a reference to an element in one of those arrays. llvm-svn: 62173
* When replacing uses and the same node is reachedDuncan Sands2009-01-131-16/+9
| | | | | | | | via two paths, process it once not twice, d'oh! Analysis, testcase and original patch thanks to Mon Ping Wang. llvm-svn: 62169
* Fix some typos. Also, the WidenedVectors mapDuncan Sands2009-01-132-9/+20
| | | | | | was not being cleaned by ExpungeNode. llvm-svn: 62167
* Correct a comment - this is not a sign extension.Duncan Sands2009-01-131-1/+1
| | | | llvm-svn: 62166
* Un-tabify.Evan Cheng2009-01-131-1/+1
| | | | llvm-svn: 62151
* FIX llvm-gcc bootstrap on x86_64 linux. If a virtual register is copied to a ↵Evan Cheng2009-01-131-0/+13
| | | | | | physical register, it's not necessarily defined by a copy. We have to watch out it doesn't clobber any sub-register that might be live during its live interval. If the live interval crosses a basic block, then it's not safe to check with the less conservative check (by scanning uses and defs) because it's possible a sub-register might be live out of the block. llvm-svn: 62144
* Use DebugInfo interface to lower dbg_* intrinsics.Devang Patel2009-01-136-56/+69
| | | | llvm-svn: 62127
OpenPOWER on IntegriCloud