summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Use the SCEVAddRecExpr::getPostIncExpr utility function insteadDan Gohman2010-05-041-4/+2
| | | | | | of doing the same thing manually. llvm-svn: 102997
* Fix a copy+pasto.Dan Gohman2010-05-041-2/+2
| | | | llvm-svn: 102996
* Do not ignore debug loc attached with llvm.dbg.declare while collecting ↵Devang Patel2010-05-042-3/+87
| | | | | | debug info used by a module. llvm-svn: 102995
* Instruction selection optimizations may have moved the def of a function ↵Evan Cheng2010-05-041-1/+2
| | | | | | argument out of the entry block. rdar://7937489 llvm-svn: 102993
* Fix to r102952. The MOV64toSDrm record in X86Instr64bit.td needed the opcodeKevin Enderby2010-05-041-1/+1
| | | | | | changed to 0x7E from 0x6E as well as the previous change of RPDI to S3SI. llvm-svn: 102991
* MC/Matcher: Add support for over-riding the default MatchInstruction functionDaniel Dunbar2010-05-042-8/+16
| | | | | | | name (for example, to allow targets to interpose the actual MatchInstruction function). llvm-svn: 102987
* llvm-mc: Fix case were we would skip a line in the .s file after an instructionDaniel Dunbar2010-05-042-27/+28
| | | | | | | | match failure. Also, fixes a few memory leak FIXMEs. llvm-svn: 102986
* Fixes a Code Gen. Crash when calling destructor on a __blockFariborz Jahanian2010-05-042-4/+18
| | | | | | | variabe. Blocks and their construction/destruction is wip though. llvm-svn: 102985
* Teach scheduler about REG_SEQUENCE.Evan Cheng2010-05-042-2/+44
| | | | llvm-svn: 102984
* Add a polygen rule that reflects the fact that nsw and nuw can beDan Gohman2010-05-041-1/+1
| | | | | | used together in either order. llvm-svn: 102983
* Re-enable isel kill flags, now that the local allocator is ignoring them.Dan Gohman2010-05-041-4/+0
| | | | llvm-svn: 102981
* rdar://7937137 - dbg values not being handled in thumb1 version ofJim Grosbach2010-05-041-0/+7
| | | | | | eliminateFrameIndex(), leading to llvm_unreachable() assertion failure. llvm-svn: 102980
* Update one more 2.7 to 2.8.Dan Gohman2010-05-031-1/+1
| | | | llvm-svn: 102978
* Minimally update ReleaseNotes.html for 2.8 development; uncomment andDan Gohman2010-05-031-53/+13
| | | | | | | | | | update the big red warning at the top. Most of the old content remains and awaits revision. Clear out the API changes section, and start it up again with a mention of the add->fadd transition. llvm-svn: 102977
* Remove preexisting kill flags in RegAllocLocal, just like LiveVariables does.Jakob Stoklund Olesen2010-05-031-1/+4
| | | | | | | This should make it possible to start producing kill flags in isel without breaking stuff. llvm-svn: 102976
* Factor out FastISel's code for materializing constants and other valuesDan Gohman2010-05-032-1/+15
| | | | | | | in registers into a separate function to de-couple it from the top-down-specific logic in getRegForValue. llvm-svn: 102975
* When computing the template arguments for the instantiation of aDouglas Gregor2010-05-034-7/+81
| | | | | | | | | | | | | friend function template, be sure to adjust the computed template argument lists based on the location of the definition of the function template: it's possible that the definition we're instantiating with and the template declaration that we found when creating the specialization are in different contexts, which meant that we would end up using the wrong template arguments for instantiation. Fixes PR7013; all Boost.DynamicBitset tests now pass. llvm-svn: 102974
* Implement builtin_return_address(x) and builtin_frame_address(x) Dale Johannesen2010-05-032-23/+58
| | | | | | on PPC for x!=0. 7624113. llvm-svn: 102972
* Remove the API compatibility layer which converted add, sub, and mulDan Gohman2010-05-033-34/+27
| | | | | | | | to fadd, fsub, and fmul, when used with a floating-point type. LLVM has supported the new instructions since 2.6, so it's time to get on board. llvm-svn: 102971
* Check that subregisters don't have independent values in ↵Jakob Stoklund Olesen2010-05-032-3/+47
| | | | | | | | RemoveCopyByCommutingDef(). This fixes PR6941. llvm-svn: 102970
* Fix tests to use fadd, fsub, and fmul, instead of add, sub, and mul,Dan Gohman2010-05-0315-40/+40
| | | | | | when the type is floating-point. llvm-svn: 102969
* Reword a comment slightly.Eric Christopher2010-05-031-1/+1
| | | | llvm-svn: 102966
* Use getConstant instead of getIntegerSCEV. The two are basically theDan Gohman2010-05-034-44/+43
| | | | | | same, now that getConstant has overloads consistent with ConstantInt::get. llvm-svn: 102965
* Revert r102948.Bill Wendling2010-05-031-32/+0
| | | | llvm-svn: 102964
* Remove special case for llvmCore_Embedded project. This is no longer neededBob Wilson2010-05-031-5/+0
| | | | | | since llvmCore is built as part of llvmgcc42 now. llvm-svn: 102962
* Just bail out immediately when emitting an unreachable function-local staticJohn McCall2010-05-032-0/+14
| | | | | | variable. Surprisingly, this does seem to be the right way to solve this. llvm-svn: 102961
* Print basic block numbers in live interval debug output. Since the rest of theBob Wilson2010-05-031-1/+2
| | | | | | | | debug output is showing machine instructions, the IR-level basic block names aren't very meaningful, and because multiple machine basic blocks may be derived from one IR-level BB, they're also not unique. llvm-svn: 102960
* Fix function prototype mismatch in LLVMUnionType(). Fixes PR7019.Nick Lewycky2010-05-031-2/+1
| | | | llvm-svn: 102959
* Changed llvm-mc to use the same suffixes with floating point compareKevin Enderby2010-05-032-6/+39
| | | | | | | instructions as the Mac OS X darwin assembler. Some of which like 'fcoml' assembled to different opcodes. While some of the suffixes were just different. llvm-svn: 102958
* Test for my last patch.Fariborz Jahanian2010-05-031-0/+25
| | | | llvm-svn: 102956
* For the sake of Objective-c++ overload resolution,Fariborz Jahanian2010-05-032-2/+45
| | | | | | | | treat argument types of objective-c pointer types which only differ in their protocol qualifiers as the same type (radar 7925668). llvm-svn: 102955
* Fixed the encoding of two of the X86 movq instuctions. The Move quadword fromKevin Enderby2010-05-033-2/+19
| | | | | | | mm to mm/m64 and the Move quadword from xmm2/mem64 to xmm1 had the incorrect encodings. llvm-svn: 102952
* Fixed the encoding of the x86 push instructions. Using a 32-bit immediate valueKevin Enderby2010-05-032-4/+17
| | | | | | | | | | caused the a pushl instruction to be incorrectly encoding using only two bytes of immediate, causing the following 2 instruction bytes to be part of the 32-bit immediate value. Also fixed the one byte form of push to be used when the immediate would fit in a signed extended byte. Lastly changed the names to not include the 32 of PUSH32 since they actually push the size of the stack pointer. llvm-svn: 102951
* Testcase for r102947.Bill Wendling2010-05-031-0/+32
| | | | llvm-svn: 102948
* Silence warnings about -1 being converted to an unsigned value.Dan Gohman2010-05-031-6/+6
| | | | | | | | Also, pass true for isSigned even when creating constants for unsigned comparisons, because the point is to create an all-ones constant, rather than UINT64_MAX, even for integers wider than 64 bits. llvm-svn: 102946
* When instantiating a function-local variable definition, introduce theDouglas Gregor2010-05-032-0/+8
| | | | | | | | mapping from the declaration in the template to the instantiated declaration before transforming the initializer, in case some crazy lunatic decides to use a variable in its own initializer. Fixes PR7016. llvm-svn: 102945
* Workaround: Don't add ObjCMethodDecls to the vector of TopLevelDecls since ↵Ted Kremenek2010-05-032-2/+36
| | | | | | | | | they don't go in the DeclContext for the translation unit. This is to workaround a fundamental issue in how ObjC decls (within an @implementation) are parsed before the ObjCContainerDecl is available. llvm-svn: 102944
* If we're generating code to create a pointer-to-member functionDouglas Gregor2010-05-032-0/+12
| | | | | | | aggregate and the result of the aggregate is unused, bail out early. Fixes PR7027. llvm-svn: 102942
* Add an option, defaulting to off, to disable the sse domain crossing opts.Eric Christopher2010-05-031-1/+8
| | | | llvm-svn: 102941
* Diagnose unused exception parameters under a different warning groupDouglas Gregor2010-05-0310-8/+38
| | | | | | | | (-Wunused-exception-parameter) than normal variables, since it's more common to name and then ignore an exception parameter. This warning is neither enabled by default nor by -Wall. Fixes <rdar://problem/7931045>. llvm-svn: 102931
* Complain when we try to initialize an object of Objective-C class typeDouglas Gregor2010-05-033-3/+16
| | | | | | | | (which is ill-formed) with an initializer list. Also, change the fallback from an assertion to a generic error message, which is far friendlier. Fixes <rdar://problem/7730948>. llvm-svn: 102930
* Check for side effects before splitting loop.Devang Patel2010-05-033-0/+80
| | | | | | Patch by Jakub Staszak! llvm-svn: 102928
* Use isTrueWhenEqual and isFalseWhenEqual instead of assuming thatDan Gohman2010-05-031-2/+2
| | | | | | | | SimplifyICmpOperands will simplify such cases to EQ or NE. This makes the correcntess of the code independent on SimplifyICmpOperands doing certain simplifications. llvm-svn: 102927
* It's okay to reference an enum in a template definition, even thoughDouglas Gregor2010-05-032-9/+14
| | | | | | it's ill-formed to form an enum template. Fixes <rdar://problem/7933063>. llvm-svn: 102926
* In ScalarEvolution::print, don't bother printing out the SCEVs forDan Gohman2010-05-031-1/+1
| | | | | | | comparison instructions, since they aren't interesting, despite having integer result types. llvm-svn: 102925
* In SimplifyICmpOperands, avoid needlessly swapping the operands in theDan Gohman2010-05-031-3/+6
| | | | | | case where both are addrecs in unrelated loops. llvm-svn: 102924
* Factor out the new <= and >= analysis code into SimplifyICmpOperands.Dan Gohman2010-05-031-51/+62
| | | | llvm-svn: 102922
* When computing the address of a virtual member function pointer, use the ↵Anders Carlsson2010-05-033-12/+33
| | | | | | pointer width instead of hardcoding for 64-bit. llvm-svn: 102921
* Try to unbreak clang-i686-darawin10 builderDouglas Gregor2010-05-031-1/+1
| | | | llvm-svn: 102920
* Do not issue warning on unimplemented property in the class, if itFariborz Jahanian2010-05-034-3/+89
| | | | | | | | conforms to a protocol as one of its super classes does. This is because conforming super class will implement the property. This implements new warning rules for unimplemented properties (radar 7884086). llvm-svn: 102919
OpenPOWER on IntegriCloud