summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* 80 col violation.Evan Cheng2009-01-101-1/+2
| | | | llvm-svn: 62024
* Reduce initial small vector sizes.Devang Patel2009-01-101-6/+6
| | | | llvm-svn: 62023
* Fix thinko. Create parent scope if parent descriptor is *not* null.Devang Patel2009-01-101-2/+2
| | | | llvm-svn: 62022
* Duplicated node may produce a non-physical register def.Evan Cheng2009-01-091-3/+5
| | | | llvm-svn: 62015
* Minor debug output tweak.Evan Cheng2009-01-091-2/+2
| | | | llvm-svn: 62005
* Request DwarfWriter. This will be used to handle dbg_* intrinsics.Devang Patel2009-01-092-2/+7
| | | | llvm-svn: 61999
* fix typo Duncan noticed.Chris Lattner2009-01-091-1/+1
| | | | llvm-svn: 61997
* Fix PR3304Chris Lattner2009-01-091-2/+12
| | | | llvm-svn: 61995
* Removed trailing whitespace from Makefiles.Misha Brukman2009-01-0943-92/+92
| | | | llvm-svn: 61991
* Implement rdar://6480391, extending of equality icmp's to avoid a truncation.Chris Lattner2009-01-091-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I noticed this in the code compiled for a routine using std::map, which produced this code: %25 = tail call i32 @memcmp(i8* %24, i8* %23, i32 6) nounwind readonly %.lobit.i = lshr i32 %25, 31 ; <i32> [#uses=1] %tmp.i = trunc i32 %.lobit.i to i8 ; <i8> [#uses=1] %toBool = icmp eq i8 %tmp.i, 0 ; <i1> [#uses=1] br i1 %toBool, label %bb3, label %bb4 which compiled to: call L_memcmp$stub shrl $31, %eax testb %al, %al jne LBB1_11 ## with this change, we compile it to: call L_memcmp$stub testl %eax, %eax js LBB1_11 This triggers all the time in common code, with patters like this: %169 = and i32 %ply, 1 ; <i32> [#uses=1] %170 = trunc i32 %169 to i8 ; <i8> [#uses=1] %toBool = icmp ne i8 %170, 0 ; <i1> [#uses=1] %7 = lshr i32 %6, 24 ; <i32> [#uses=1] %9 = trunc i32 %7 to i8 ; <i8> [#uses=1] %10 = icmp ne i8 %9, 0 ; <i1> [#uses=1] etc llvm-svn: 61985
* Remove some old code that looks like a remanant from signed-types days.Chris Lattner2009-01-091-23/+0
| | | | llvm-svn: 61984
* Fix PR3298, a crash in Jump Threading. Apparently even Chris Lattner2009-01-091-0/+4
| | | | | | jump threading can have bugs, who knew? ;-) llvm-svn: 61983
* Fix part 3/2 of PR3290, making instcombine zap (gep(bitcast)) when possible.Chris Lattner2009-01-091-81/+116
| | | | llvm-svn: 61980
* move some code, check to see if the input to the GEP is a bitcastChris Lattner2009-01-091-23/+22
| | | | | | (which is constant time and cheap) before checking hasAllZeroIndices. llvm-svn: 61976
* Add load-folding table entries for MOVDQA.Dan Gohman2009-01-091-0/+6
| | | | llvm-svn: 61972
* Whitespace and other minor adjustments to make SSE instructions haveDan Gohman2009-01-091-26/+32
| | | | | | | the same formatting as their corresponding SSE2 instructions, for consistency. llvm-svn: 61971
* Adjustments to last patch based on review.Dale Johannesen2009-01-094-11/+24
| | | | llvm-svn: 61969
* 61949 accidentally introduced an escaped newline. Fix this by makingDan Gohman2009-01-081-1/+1
| | | | | | the comment a little more verbose. llvm-svn: 61959
* Convert DwarfWriter into a pass.Devang Patel2009-01-087-69/+75
| | | | | | Now Users request DwarfWriter through getAnalysisUsage() instead of creating an instance of DwarfWriter object directly. llvm-svn: 61955
* Delete unnecessary parens around return values.Dan Gohman2009-01-082-2/+2
| | | | llvm-svn: 61950
* Fix the comment for lltok::backslash.Dan Gohman2009-01-081-1/+1
| | | | llvm-svn: 61949
* Fix the path to llvm/Assembly/Parser.h in a comment.Dan Gohman2009-01-081-1/+1
| | | | llvm-svn: 61948
* Do not inline functions with (dynamic) alloca intoDale Johannesen2009-01-081-2/+20
| | | | | | | | | | | functions that don't already have a (dynamic) alloca. Dynamic allocas cause inefficient codegen and we shouldn't propagate this (behavior follows gcc). Two existing tests assumed such inlining would be done; they are hacked by adding an alloca in the caller, preserving the point of the tests. llvm-svn: 61946
* Use mayBeOverridden here, in anticipation of theDuncan Sands2009-01-081-2/+2
| | | | | | day when more linkage types will be handled. llvm-svn: 61944
* ValueTracker can't assume that an alloca with no specified alignment Chris Lattner2009-01-081-1/+1
| | | | | | | | will get its preferred alignment. It has to be careful and cautiously assume it will just get the ABI alignment. This prevents instcombine from rounding up the alignment of a load/store without adjusting the alignment of the alloca. llvm-svn: 61934
* one more crash from PR3281, we now diagnose:Chris Lattner2009-01-081-2/+9
| | | | | | | llvm-as: t.ll:2:39: function may not return opaque type %"bwmoyl" = tail call coldcc opaque @g() ^ llvm-svn: 61933
* Add DebugInfo based APIs to record source line info.Devang Patel2009-01-081-4/+43
| | | | llvm-svn: 61928
OpenPOWER on IntegriCloud