summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Print the correct index in the "match failed at index" message.Dan Gohman2010-03-091-1/+1
| | | | llvm-svn: 98013
* remove the suffix form of PrintLabelName, which was only Chris Lattner2010-03-092-10/+0
| | | | | | used for 'flavor'. llvm-svn: 98012
* now that the debug and eh emitters use a common .set counter,Chris Lattner2010-03-094-11/+5
| | | | | | we can eliminate "flavor". llvm-svn: 98011
* move .set generation out of DwarfPrinter into AsmPrinter and Chris Lattner2010-03-083-25/+32
| | | | | | MCize it. llvm-svn: 98010
* Don't waste time trying to CSE labels, phis, inline asm. Definitely avoid ↵Evan Cheng2010-03-081-0/+4
| | | | | | cse implicit-def for obvious performance reason. llvm-svn: 98009
* Restrict machine cse to really trivial coalescing. Leave the heavy lifting ↵Evan Cheng2010-03-081-0/+3
| | | | | | to a real coalescer. llvm-svn: 98007
* simplify EmitSectionOffset to always use .set if it isChris Lattner2010-03-087-38/+16
| | | | | | | | | available, the only thing this affects is that we produce .set in one case we didn't before, which shouldn't harm anything. Make EmitSectionOffset call EmitDifference instead of duplicating it. llvm-svn: 98005
* Remove a version of EmitDifference.Chris Lattner2010-03-084-51/+26
| | | | llvm-svn: 98002
* eliminate a form of PrintLabelName.Chris Lattner2010-03-083-11/+5
| | | | llvm-svn: 97999
* remove another form of EmitReference.Chris Lattner2010-03-083-10/+3
| | | | llvm-svn: 97998
* eliminate the non-MCSymbol versions of EmitReference.Chris Lattner2010-03-083-25/+7
| | | | llvm-svn: 97997
* mc'ize EmitLabel.Chris Lattner2010-03-084-69/+52
| | | | llvm-svn: 97996
* merge DIEObjectLabel and DIEDwarfLabel into DIELabel.Chris Lattner2010-03-085-89/+13
| | | | | | Yes, DIE you fiendish labels, die all of you. llvm-svn: 97995
* elimiante the DWLabel class, using MCSymbol instead. Start Chris Lattner2010-03-0810-177/+138
| | | | | | | switching some stuff over to passing around MCSymbol* instead of stem+ID. llvm-svn: 97993
* Derive DIType from DIScope. This simplifies getContext() where for members ↵Devang Patel2010-03-082-39/+13
| | | | | | the context is a type. This also eliminates need of CompileUnitMaps maintained by dwarf writer. llvm-svn: 97990
* Avoid using DIDescriptor.isNull(). Devang Patel2010-03-084-75/+54
| | | | | | This is a first step towards eliminating checks in Descriptor constructors. llvm-svn: 97975
* Revert r97947.Devang Patel2010-03-084-54/+75
| | | | llvm-svn: 97963
* Avoid using DIDescriptor.isNull().Devang Patel2010-03-084-75/+54
| | | | | | This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers. llvm-svn: 97947
* Add Order to SDDbgValueDale Johannesen2010-03-081-4/+10
| | | | llvm-svn: 97939
* Fix dbg value handling in tail merging.Dale Johannesen2010-03-081-3/+25
| | | | llvm-svn: 97938
* Revert r97917, which was causing Clang Debug self-host failures.Douglas Gregor2010-03-083-28/+29
| | | | llvm-svn: 97932
* Roll r97906 forward again, without double-deleting CompileUnit::IndexTyDie.Jeffrey Yasskin2010-03-073-29/+28
| | | | llvm-svn: 97917
* Use Other as a sentinel instead of iAny.Chris Lattner2010-03-071-4/+4
| | | | llvm-svn: 97914
* _2_ gcc crashes, ah, ah, ah...Jeffrey Yasskin2010-03-072-24/+22
| | | | | | (Rolling back r97906.) llvm-svn: 97909
* Avoid leaking CompileUnits and DbgScopes from DwarfDebug. Leaks found by ↵Jeffrey Yasskin2010-03-072-22/+24
| | | | | | Valgrind! llvm-svn: 97906
* tidy upChris Lattner2010-03-071-10/+10
| | | | llvm-svn: 97895
* Don't update physical register def.Evan Cheng2010-03-061-2/+3
| | | | llvm-svn: 97861
* Add some new bits of debug info handling. NoDale Johannesen2010-03-063-0/+129
| | | | | | functional change yet. llvm-svn: 97855
* Reapply r97778 and r97779, enabled only for unsigned i64 to f64Dan Gohman2010-03-061-0/+25
| | | | | | conversions. llvm-svn: 97854
* Don't emit global symbols into the (__TEXT,__ustring) section on Darwin. ThisCharles Davis2010-03-051-1/+1
| | | | | | | | | is a workaround for <rdar://problem/7672401/> (which I filed). This let's us build Wine on Darwin, and it gets the Qt build there a little bit further (so Doug says). llvm-svn: 97845
* Better handling of dead super registers in LiveVariables. We used to do this:Jakob Stoklund Olesen2010-03-051-21/+21
| | | | | | | | | | | | | | | | | | | | | CALL ... %RAX<imp-def> ... [not using %RAX] %EAX = ..., %RAX<imp-use, kill> RET %EAX<imp-use,kill> Now we do this: CALL ... %RAX<imp-def, dead> ... [not using %RAX] %EAX = ... RET %EAX<imp-use,kill> By not artificially keeping %RAX alive, we lower register pressure a bit. The correct number of instructions for 2008-08-05-SpillerBug.ll is obviously 55, anybody can see that. Sheesh. llvm-svn: 97838
* We don't really care about correct register liveness information after theJakob Stoklund Olesen2010-03-051-4/+10
| | | | | | post-ra scheduler has run. Disable the verifier checks that late in the game. llvm-svn: 97837
* Avoid creating bad PHI instructions when BR is being const-folded.Jakob Stoklund Olesen2010-03-051-0/+2
| | | | llvm-svn: 97836
* Fix PR6497, a bug where we'd fold a load into an addcChris Lattner2010-03-051-0/+7
| | | | | | | | | | | node which has a flag. That flag in turn was used by an already-selected adde which turned into an ADC32ri8 which used a selected load which was chained to the load we folded. This flag use caused us to form a cycle. Fix this by not ignoring chains in IsLegalToFold even in cases where the isel thinks it can. llvm-svn: 97791
* inline a small function with one call site.Chris Lattner2010-03-051-16/+4
| | | | llvm-svn: 97789
* Revert r97778 and r97779. They're somehow breaking llvm-gcc builds.Dan Gohman2010-03-051-17/+41
| | | | llvm-svn: 97781
* Fix these constants to be more portable.Dan Gohman2010-03-051-3/+3
| | | | llvm-svn: 97779
* Rewrite i64-to-f64 conversion using an algorithm which handlesDan Gohman2010-03-051-41/+17
| | | | | | | | | rounding correctly. This implementation is a generalization of the x86_64 code in compiler-rt. This fixes rdar://7683708. llvm-svn: 97778
* Fix some more places where dbg_value affected codegen.Dale Johannesen2010-03-054-4/+22
| | | | llvm-svn: 97765
* Fix memcheck-found leaks: one false positive from using new[], and one trueJeffrey Yasskin2010-03-041-9/+28
| | | | | | positive where pointers would be leaked on llvm_shutdown. llvm-svn: 97759
* For SJLJ exception handling, make sure that all calls that are not markedJim Grosbach2010-03-041-31/+36
| | | | | | | | as nounwind are marked with a -1 call-site value. This is necessary to, for example, correctly process exceptions thrown from within an "unexpected" execption handler (see SingleSource/Regression/C++/EH/expection_spec_test.cpp). llvm-svn: 97757
* Run machine licm before machine cse to avoid messing up licm opportunities.Evan Cheng2010-03-041-2/+2
| | | | llvm-svn: 97752
* Avoid cse load instructions unless they are known to be invariant loads.Evan Cheng2010-03-041-10/+36
| | | | llvm-svn: 97747
* add a statistic for # times fastisel fails.Chris Lattner2010-03-041-0/+6
| | | | llvm-svn: 97738
* Fix a typo Duncan noticed.Dan Gohman2010-03-041-1/+1
| | | | llvm-svn: 97735
* Rename -machine-cse to -enable-machine-cse.Evan Cheng2010-03-041-1/+1
| | | | llvm-svn: 97713
* Look ahead a bit to determine if a physical register def that is not marked ↵Evan Cheng2010-03-041-6/+61
| | | | | | dead is really alive. This is necessary to catch a lot of common cse opportunities for targets like x86. llvm-svn: 97706
* change the new isel matcher to emit ComplexPattern matchesChris Lattner2010-03-041-3/+7
| | | | | | | | | | as the very last thing before node emission. This should dramatically reduce the number of times we do 'MatchAddress' on X86, speeding up compile time. This also improves comments in the tables and shrinks the table a bit, now down to 80506 bytes for x86. llvm-svn: 97703
* Fix more code to work properly with vector operands. Based onDan Gohman2010-03-041-5/+5
| | | | | | a patch my Micah Villmow for PR6465. llvm-svn: 97692
* inline CannotYetSelectIntrinsic into CannotYetSelect and simplify.Chris Lattner2010-03-041-19/+16
| | | | llvm-svn: 97690
OpenPOWER on IntegriCloud