summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Removoe MachineModuleInfo methods (and related DebugInfoDesc class ↵Devang Patel2009-01-133-2453/+10
| | | | | | hierarchy) that were used to handle debug info. llvm-svn: 62199
* fix memleaksNuno Lopes2009-01-131-0/+2
| | | | llvm-svn: 62198
* BT appears to be available on all >= i386 chips.Dan Gohman2009-01-131-1/+0
| | | | llvm-svn: 62196
* Don't use a BT instruction if the AND has multiple uses.Dan Gohman2009-01-131-1/+3
| | | | llvm-svn: 62195
* Disable the register+memory forms of the bt instructions for now. ThanksDan Gohman2009-01-132-12/+20
| | | | | | | | to Eli for pointing out that these forms don't ignore the high bits of their index operands, and as such are not immediately suitable for use by isel. llvm-svn: 62194
* 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
* Fix testsuite regressions from recursive inlining.Dale Johannesen2009-01-131-3/+3
| | | | llvm-svn: 62189
* 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
* Add bt instructions that take immediate operands.Dan Gohman2009-01-132-2/+32
| | | | llvm-svn: 62180
* Fix a few more JIT encoding issues in the BT instructions.Dan Gohman2009-01-131-2/+2
| | | | llvm-svn: 62179
* 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
* Make instcombine ensure that all allocas are explicitly aligned at atDan Gohman2009-01-131-6/+11
| | | | | | least their preferred alignment. llvm-svn: 62176
* Checking in conditionals, function call, arrays and libcalls implementation.Sanjiv Gupta2009-01-1312-275/+1149
| | | | llvm-svn: 62174
* 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
* Correct a comment.Duncan Sands2009-01-131-1/+1
| | | | llvm-svn: 62165
* Wind SCEV back in time, to Nov 18th. This 'fixes' PR3275, PR3294, PR3295,Nick Lewycky2009-01-132-211/+41
| | | | | | PR3296 and PR3302. llvm-svn: 62160
* add a new insertAfter method, patch by Tom Jablin!Chris Lattner2009-01-131-0/+6
| | | | llvm-svn: 62158
* make -march=cpp handle the nocapture attribute, make it assert if itChris Lattner2009-01-131-22/+19
| | | | | | sees attributes it doesn't know. llvm-svn: 62155
* 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-139-61/+77
| | | | llvm-svn: 62127
* Start using DebugInfo API to emit debug info.Devang Patel2009-01-131-11/+10
| | | | llvm-svn: 62125
* Emit debug info, only if at least one compile unit is seen.Devang Patel2009-01-121-2/+8
| | | | llvm-svn: 62118
* If multiple compile units are seen then emit them independently. In other ↵Devang Patel2009-01-121-65/+74
| | | | | | | | words, do not force all DIEs into first, whatever it is, compile unit. Note, multiple compile unit support is not well tested (it did not work correctly until now anyway.) llvm-svn: 62116
* Avoid cast<>, use light weith wrapper directly.Devang Patel2009-01-121-3/+3
| | | | llvm-svn: 62115
* Use SrcLineInfo from DwarfWriter. The MachineModuleInfo copy will disappear ↵Devang Patel2009-01-121-12/+9
| | | | | | soon. llvm-svn: 62114
* Enable recursive inlining. Reduce inlining thresholdDale Johannesen2009-01-122-8/+6
| | | | | | | back to 200; 400 seems to be too high, loses more than it gains. llvm-svn: 62107
* Add classof() methods to support isa<> and other related facilities.Devang Patel2009-01-121-8/+2
| | | | llvm-svn: 62104
* Rename getABITypeSize to getTypePaddedSize, asDuncan Sands2009-01-1248-141/+145
| | | | | | suggested by Chris. llvm-svn: 62099
* Add DwarfWriter interface to mainipulate source location info.Devang Patel2009-01-121-45/+91
| | | | | | ( May be this info should be directly handled by the dwarf writer ? ) llvm-svn: 62096
* Clear debug info at the end of function processing.Devang Patel2009-01-121-1/+12
| | | | llvm-svn: 62092
* There is no need to maintain separate labelid list in the dwarf writer. It ↵Devang Patel2009-01-121-36/+5
| | | | | | is not a good idea. llvm-svn: 62090
* Remove some dead code from the days llvm had type planes.Rafael Espindola2009-01-121-46/+1
| | | | | | There might be more dead code, but with llvm-gcc bootstrap broken on linux x86-64 it is had to test :-( llvm-svn: 62088
* Fix PR3241: Currently EmitCopyFromReg emits a copy from the physical ↵Evan Cheng2009-01-125-65/+87
| | | | | | | | register to a virtual register unless it requires an expensive cross class copy. That means we are only treating "expensive to copy" register dependency as physical register dependency. Also future proof the scheduler to handle "normal" physical register dependencies. The code is not exercised yet. llvm-svn: 62074
* More two-address fixes. This gets lua working with join-creation enabled.Owen Anderson2009-01-121-6/+10
| | | | llvm-svn: 62073
* make tblgen autogenerate the nocapture intrinsics for Chris Lattner2009-01-121-4/+0
| | | | | | | llvm.memcpy/memset/memmove. This allows removal of some hackish code from basicaa. llvm-svn: 62071
* make tblgen emit the entire Intrinsic::getAttributes method, Chris Lattner2009-01-121-10/+1
| | | | | | not a random piece of it. No functionality change. llvm-svn: 62066
* Increase default inlining aggressiveness in partialDale Johannesen2009-01-111-2/+2
| | | | | | | | | compensation for turning off gcc's inliner. This gets us closer to the amount of inlining we were getting before. It is not a win on everything, of course, but seems to gain overall. llvm-svn: 62058
* simplify CallSite helper class to not consult the Instruction'sGabor Greif2009-01-111-59/+33
| | | | | | | | opcode on each delegation. Instead the information is cached on construction and the cached flag used thereafter. Introduced two predicates: isCall and isInvoke. llvm-svn: 62055
* Duncan is nervous about undefinedness of % with negatives. I'mChris Lattner2009-01-111-1/+1
| | | | | | not thrilled about 64-bit % in general, so rewrite to use * instead. llvm-svn: 62047
* do not generated GEPs into vectors where they don't already exist.Chris Lattner2009-01-111-4/+3
| | | | | | We should treat vectors as atomic types, not like arrays. llvm-svn: 62046
* Make a couple of cleanups to the instcombine bitcast/gep Chris Lattner2009-01-111-12/+13
| | | | | | | | | | | | | canonicalization transform based on duncan's comments: 1) improve the comment about %. 2) within our index loop make sure the offset stays within the *type size*, instead of within the *abi size*. This allows us to reason explicitly about landing in tail padding and means that issues like non-zero offsets into [0 x foo] types don't occur anymore. llvm-svn: 62045
* Use the spiffy new getAlignmentFromAttrs function.Nick Lewycky2009-01-111-1/+1
| | | | llvm-svn: 62039
* CheckForPhysRegDependency should not return copy cost. It's not used. No ↵Evan Cheng2009-01-111-9/+4
| | | | | | functionality change. llvm-svn: 62036
OpenPOWER on IntegriCloud