summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Pass information about whether a base is virtual or not down to ↵Anders Carlsson2010-02-283-19/+37
| | | | | | getCtorVtable, we need this information in the vtable builder. llvm-svn: 97356
* Generalize my hack to use SDNodeInfo to find out when aChris Lattner2010-02-283-19/+55
| | | | | | | | | node is always guaranteed to have a particular type instead of hacking in ISD::STORE explicitly. This allows us to use implied types for a broad range of nodes, even target specific ones. llvm-svn: 97355
* Implement XMM subregs.Dan Gohman2010-02-285-163/+168
| | | | | | | | | | | Extracting the low element of a vector is now done with EXTRACT_SUBREG, and the zero-extension performed by load movss is now modeled with SUBREG_TO_REG, and so on. Register-to-register movss and movsd are no longer considered copies; they are two-address instructions which insert a scalar into a vector. llvm-svn: 97354
* Add new function.Anders Carlsson2010-02-281-2/+8
| | | | llvm-svn: 97353
* Don't unconditionally suppress hoisting of instructions with implicitDan Gohman2010-02-281-26/+4
| | | | | | | | defs or uses. The regular def and use checking below covers them, and can be more precise. It's safe to hoist an instruction with a dead implicit def if the register isn't live into the loop header. llvm-svn: 97352
* Fix to dumpLayout; we want to be able to dump address points even if the ↵Anders Carlsson2010-02-271-31/+34
| | | | | | vtable doesn't have any methods. llvm-svn: 97350
* Add nounwinds.Dan Gohman2010-02-271-2/+2
| | | | llvm-svn: 97349
* The mayHaveSideEffects flag is no longer used.Dan Gohman2010-02-2716-37/+25
| | | | llvm-svn: 97348
* Debian sid moved these headers into /4.4 and left /4.4.3 as a symlink. Update.Nick Lewycky2010-02-271-1/+3
| | | | | | Also, add support for 32-bit x86 Debian sid. llvm-svn: 97347
* change CheckOpcodeMatcher to hold the SDNodeInfo instead ofChris Lattner2010-02-275-31/+32
| | | | | | the opcode name. This gives the optimizer more semantic info. llvm-svn: 97346
* remove a bogus pattern, which had the same pattern as STDUChris Lattner2010-02-272-8/+1
| | | | | | | | | but codegen'd differently. This really wanted to use some sort of subreg to get the low 4 bytes of the G8RC register or something. However, it's invalid and nothing is testing it, so I'm just zapping the bogosity. llvm-svn: 97345
* Add a simple construction vtable test.Anders Carlsson2010-02-272-6/+57
| | | | llvm-svn: 97344
* Start fleshing out construction vtable support.Anders Carlsson2010-02-271-10/+38
| | | | llvm-svn: 97342
* Enable the new vtable layout code for vtables that aren't construction ↵Anders Carlsson2010-02-271-5/+9
| | | | | | vtables. (This doesn't mean that we emit LLVM IR using it yet, it just means that it's running and hopefully not crashing or asserting). llvm-svn: 97341
* Move ComputeThisAdjustmentBaseOffset to VtableBuilder.Anders Carlsson2010-02-271-61/+61
| | | | llvm-svn: 97340
* Make sure to insert the primary base in the set :)Anders Carlsson2010-02-271-0/+3
| | | | llvm-svn: 97339
* Use the real base offset when calculating vbase offsets.Anders Carlsson2010-02-272-1/+47
| | | | llvm-svn: 97338
* Figured out why the test was failing, this will hopefully fix it.Anders Carlsson2010-02-272-4/+9
| | | | llvm-svn: 97336
* Don't add this adjustments for pure virtual member functions.Anders Carlsson2010-02-272-3/+40
| | | | llvm-svn: 97334
* We want to store method info for unused functions.Anders Carlsson2010-02-271-10/+20
| | | | llvm-svn: 97333
* XFAIL this for now. I have no idea why this test is failing on some ↵Anders Carlsson2010-02-271-0/+1
| | | | | | machines. Looks like some sort of whitespace issue in FileCheck. llvm-svn: 97332
* Revert 97324. Chris says this cleanup could hurt -E performance.Benjamin Kramer2010-02-271-8/+24
| | | | llvm-svn: 97331
* Move method out-of-line. I thought this would be a candidate for inlining ↵Benjamin Kramer2010-02-272-14/+19
| | | | | | but I was wrong. llvm-svn: 97330
* Add another test.Anders Carlsson2010-02-271-0/+48
| | | | llvm-svn: 97329
* Finish up the changes to this adjustments.Anders Carlsson2010-02-272-37/+163
| | | | llvm-svn: 97328
* Another trivial getSpelling simplification.Benjamin Kramer2010-02-271-4/+2
| | | | llvm-svn: 97327
* Stub out more of the 'this' pointer adjustment fixes I've been planning. ↵Anders Carlsson2010-02-271-13/+36
| | | | | | Start using a set vector for primary bases so they will be ordered. llvm-svn: 97326
* Simplify code.Benjamin Kramer2010-02-271-24/+8
| | | | llvm-svn: 97324
* Fix thinko.Benjamin Kramer2010-02-271-1/+1
| | | | llvm-svn: 97323
* Add an overload of Preprocessor::getSpelling which takes a SmallVector andBenjamin Kramer2010-02-279-39/+34
| | | | | | returns a StringRef. Use it to simplify some repetitive code. llvm-svn: 97322
* Fix crasher caused by setting a bit in a possibly empty bitvector whileTed Kremenek2010-02-273-1/+12
| | | | | | doing printf format string checking. This is a recent regression. llvm-svn: 97318
* add another case from the ppc backend. This is obviously a huge andChris Lattner2010-02-271-1/+4
| | | | | | dissatisfying hack. TODO: Improve it. :) llvm-svn: 97317
* fix an incorrect (overly conservative) predicate.Chris Lattner2010-02-271-1/+1
| | | | llvm-svn: 97316
* fix logic in DEBUG.Chris Lattner2010-02-271-2/+2
| | | | llvm-svn: 97315
* teach the optimizer that opcode == ISD::STORE is contradictoryChris Lattner2010-02-273-8/+18
| | | | | | | | with getType() == MVT::i32 etc. Teach it that two different integer constants are contradictory. This cuts 1K off the X86 table, down to 98k llvm-svn: 97314
* fix grammaro's pointed out by danielChris Lattner2010-02-271-2/+2
| | | | llvm-svn: 97313
* Teach the grouper some simple tricks about looking contradictoryChris Lattner2010-02-273-12/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | predicates. For example if we have: Scope: CheckType i32 ABC CheckType f32 DEF CheckType i32 GHI Then we know that we can transform this into: Scope: CheckType i32 Scope ABC GHI CheckType f32 DEF This reorders the check for the 'GHI' predicate above the check for the 'DEF' predidate. However it is safe to do this in this situation because we know that a node cannot have both an i32 and f32 type. We're now doing more factoring that the old isel did. llvm-svn: 97312
* Wire up Daniel's new spiffy C interpreter into the CMake build systemKovarththanan Rajaratnam2010-02-272-0/+31
| | | | llvm-svn: 97311
* Re-apply 97040 with fix. This survives a ppc self-host llvm-gcc bootstrap.Evan Cheng2010-02-278-35/+186
| | | | llvm-svn: 97310
* Add commentKovarththanan Rajaratnam2010-02-271-0/+2
| | | | llvm-svn: 97309
* Add header + commentsKovarththanan Rajaratnam2010-02-271-0/+12
| | | | llvm-svn: 97308
* use DEBUG instead of DebugFlag directly so that thisChris Lattner2010-02-271-7/+7
| | | | | | respects -debug-only=something-else. llvm-svn: 97307
* Fix another vtable layout bug; we weren't looking hard enough for overriden ↵Anders Carlsson2010-02-272-8/+76
| | | | | | functions when determining if an overrider will ever be used. llvm-svn: 97306
* implement a new optimization to sink pattern predicates (like isSSE1) Chris Lattner2010-02-272-0/+117
| | | | | | | | | as deeply into the pattern as we can get away with. In pratice, this means "all the way to to the emitter code, but not across ComplexPatterns". This substantially increases the amount of factoring we get. llvm-svn: 97305
* Handle vcall offset sharing between destructors.Anders Carlsson2010-02-272-3/+47
| | | | llvm-svn: 97304
* Fix a bug where we were generating an unnecessary vtable for a virtual base ↵Anders Carlsson2010-02-272-9/+67
| | | | | | that's already a primary virtual base. llvm-svn: 97303
* Add test case for inlining call analysis.Zhongxing Xu2010-02-271-0/+20
| | | | llvm-svn: 97300
* Robustify SourceManager::getLocation(), so that it returns anDouglas Gregor2010-02-272-15/+20
| | | | | | | | | end-of-line source location when given a column number beyond the length of the line, or an end-of-file source location when given a line number beyond the length of the file. Previously, we would return an invalid location. llvm-svn: 97299
* Add reference to positional arguments documentation.Ted Kremenek2010-02-271-0/+3
| | | | llvm-svn: 97298
* For printf format string checking, add support for positional format strings.Ted Kremenek2010-02-275-48/+232
| | | | | | Along the way, coelesce some of the diagnostics. llvm-svn: 97297
OpenPOWER on IntegriCloud