Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Pass information about whether a base is virtual or not down to ↵ | Anders Carlsson | 2010-02-28 | 3 | -19/+37 | |
| | | | | | | getCtorVtable, we need this information in the vtable builder. llvm-svn: 97356 | |||||
* | Generalize my hack to use SDNodeInfo to find out when a | Chris Lattner | 2010-02-28 | 3 | -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 Gohman | 2010-02-28 | 5 | -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 Carlsson | 2010-02-28 | 1 | -2/+8 | |
| | | | | llvm-svn: 97353 | |||||
* | Don't unconditionally suppress hoisting of instructions with implicit | Dan Gohman | 2010-02-28 | 1 | -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 Carlsson | 2010-02-27 | 1 | -31/+34 | |
| | | | | | | vtable doesn't have any methods. llvm-svn: 97350 | |||||
* | Add nounwinds. | Dan Gohman | 2010-02-27 | 1 | -2/+2 | |
| | | | | llvm-svn: 97349 | |||||
* | The mayHaveSideEffects flag is no longer used. | Dan Gohman | 2010-02-27 | 16 | -37/+25 | |
| | | | | llvm-svn: 97348 | |||||
* | Debian sid moved these headers into /4.4 and left /4.4.3 as a symlink. Update. | Nick Lewycky | 2010-02-27 | 1 | -1/+3 | |
| | | | | | | Also, add support for 32-bit x86 Debian sid. llvm-svn: 97347 | |||||
* | change CheckOpcodeMatcher to hold the SDNodeInfo instead of | Chris Lattner | 2010-02-27 | 5 | -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 STDU | Chris Lattner | 2010-02-27 | 2 | -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 Carlsson | 2010-02-27 | 2 | -6/+57 | |
| | | | | llvm-svn: 97344 | |||||
* | Start fleshing out construction vtable support. | Anders Carlsson | 2010-02-27 | 1 | -10/+38 | |
| | | | | llvm-svn: 97342 | |||||
* | Enable the new vtable layout code for vtables that aren't construction ↵ | Anders Carlsson | 2010-02-27 | 1 | -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 Carlsson | 2010-02-27 | 1 | -61/+61 | |
| | | | | llvm-svn: 97340 | |||||
* | Make sure to insert the primary base in the set :) | Anders Carlsson | 2010-02-27 | 1 | -0/+3 | |
| | | | | llvm-svn: 97339 | |||||
* | Use the real base offset when calculating vbase offsets. | Anders Carlsson | 2010-02-27 | 2 | -1/+47 | |
| | | | | llvm-svn: 97338 | |||||
* | Figured out why the test was failing, this will hopefully fix it. | Anders Carlsson | 2010-02-27 | 2 | -4/+9 | |
| | | | | llvm-svn: 97336 | |||||
* | Don't add this adjustments for pure virtual member functions. | Anders Carlsson | 2010-02-27 | 2 | -3/+40 | |
| | | | | llvm-svn: 97334 | |||||
* | We want to store method info for unused functions. | Anders Carlsson | 2010-02-27 | 1 | -10/+20 | |
| | | | | llvm-svn: 97333 | |||||
* | XFAIL this for now. I have no idea why this test is failing on some ↵ | Anders Carlsson | 2010-02-27 | 1 | -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 Kramer | 2010-02-27 | 1 | -8/+24 | |
| | | | | llvm-svn: 97331 | |||||
* | Move method out-of-line. I thought this would be a candidate for inlining ↵ | Benjamin Kramer | 2010-02-27 | 2 | -14/+19 | |
| | | | | | | but I was wrong. llvm-svn: 97330 | |||||
* | Add another test. | Anders Carlsson | 2010-02-27 | 1 | -0/+48 | |
| | | | | llvm-svn: 97329 | |||||
* | Finish up the changes to this adjustments. | Anders Carlsson | 2010-02-27 | 2 | -37/+163 | |
| | | | | llvm-svn: 97328 | |||||
* | Another trivial getSpelling simplification. | Benjamin Kramer | 2010-02-27 | 1 | -4/+2 | |
| | | | | llvm-svn: 97327 | |||||
* | Stub out more of the 'this' pointer adjustment fixes I've been planning. ↵ | Anders Carlsson | 2010-02-27 | 1 | -13/+36 | |
| | | | | | | Start using a set vector for primary bases so they will be ordered. llvm-svn: 97326 | |||||
* | Simplify code. | Benjamin Kramer | 2010-02-27 | 1 | -24/+8 | |
| | | | | llvm-svn: 97324 | |||||
* | Fix thinko. | Benjamin Kramer | 2010-02-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 97323 | |||||
* | Add an overload of Preprocessor::getSpelling which takes a SmallVector and | Benjamin Kramer | 2010-02-27 | 9 | -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 while | Ted Kremenek | 2010-02-27 | 3 | -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 and | Chris Lattner | 2010-02-27 | 1 | -1/+4 | |
| | | | | | | dissatisfying hack. TODO: Improve it. :) llvm-svn: 97317 | |||||
* | fix an incorrect (overly conservative) predicate. | Chris Lattner | 2010-02-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 97316 | |||||
* | fix logic in DEBUG. | Chris Lattner | 2010-02-27 | 1 | -2/+2 | |
| | | | | llvm-svn: 97315 | |||||
* | teach the optimizer that opcode == ISD::STORE is contradictory | Chris Lattner | 2010-02-27 | 3 | -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 daniel | Chris Lattner | 2010-02-27 | 1 | -2/+2 | |
| | | | | llvm-svn: 97313 | |||||
* | Teach the grouper some simple tricks about looking contradictory | Chris Lattner | 2010-02-27 | 3 | -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 system | Kovarththanan Rajaratnam | 2010-02-27 | 2 | -0/+31 | |
| | | | | llvm-svn: 97311 | |||||
* | Re-apply 97040 with fix. This survives a ppc self-host llvm-gcc bootstrap. | Evan Cheng | 2010-02-27 | 8 | -35/+186 | |
| | | | | llvm-svn: 97310 | |||||
* | Add comment | Kovarththanan Rajaratnam | 2010-02-27 | 1 | -0/+2 | |
| | | | | llvm-svn: 97309 | |||||
* | Add header + comments | Kovarththanan Rajaratnam | 2010-02-27 | 1 | -0/+12 | |
| | | | | llvm-svn: 97308 | |||||
* | use DEBUG instead of DebugFlag directly so that this | Chris Lattner | 2010-02-27 | 1 | -7/+7 | |
| | | | | | | respects -debug-only=something-else. llvm-svn: 97307 | |||||
* | Fix another vtable layout bug; we weren't looking hard enough for overriden ↵ | Anders Carlsson | 2010-02-27 | 2 | -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 Lattner | 2010-02-27 | 2 | -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 Carlsson | 2010-02-27 | 2 | -3/+47 | |
| | | | | llvm-svn: 97304 | |||||
* | Fix a bug where we were generating an unnecessary vtable for a virtual base ↵ | Anders Carlsson | 2010-02-27 | 2 | -9/+67 | |
| | | | | | | that's already a primary virtual base. llvm-svn: 97303 | |||||
* | Add test case for inlining call analysis. | Zhongxing Xu | 2010-02-27 | 1 | -0/+20 | |
| | | | | llvm-svn: 97300 | |||||
* | Robustify SourceManager::getLocation(), so that it returns an | Douglas Gregor | 2010-02-27 | 2 | -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 Kremenek | 2010-02-27 | 1 | -0/+3 | |
| | | | | llvm-svn: 97298 | |||||
* | For printf format string checking, add support for positional format strings. | Ted Kremenek | 2010-02-27 | 5 | -48/+232 | |
| | | | | | | Along the way, coelesce some of the diagnostics. llvm-svn: 97297 |