summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Shuffle some functions around, no functionality change.Daniel Dunbar2009-02-021-65/+65
| | | | llvm-svn: 63538
* DebugLoc propagation for int<->fp conversions.Dale Johannesen2009-02-021-74/+89
| | | | llvm-svn: 63537
* Refactor PerformPHIConstruction, no functionality changes.Evan Cheng2009-02-021-125/+165
| | | | llvm-svn: 63536
* Split specific_decl_iterator, which had a run-time field forDouglas Gregor2009-02-022-24/+89
| | | | | | | | | | determining what decls are acceptable, into specific_decl_iterator (in which all decls matching the SpecificDecl type requirements are acceptable) and filtered_decl_iterator (which also does a run-time check via a member pointer non-type template parameter). This saves some space in the iterators. llvm-svn: 63535
* Change the ObjC type encoding for block pointer types to "@?" (for ↵Steve Naroff2009-02-021-1/+1
| | | | | | | | consistency with GCC). This fixes <rdar://problem/6538564> clang ObjC rewriter: Wrong encoding emitted for methods with Block parameters. llvm-svn: 63534
* xfail this for now, will fix shortly.Chris Lattner2009-02-021-0/+1
| | | | llvm-svn: 63533
* update testChris Lattner2009-02-021-1/+1
| | | | llvm-svn: 63532
* Add FIXME.Daniel Dunbar2009-02-021-0/+4
| | | | llvm-svn: 63531
* Reposition the DebugLoc field to reduce padding spaceDan Gohman2009-02-021-17/+18
| | | | | | on LP64 hosts. llvm-svn: 63530
* Fix a bug which caused us to miscompile a couple of AdaChris Lattner2009-02-022-1/+22
| | | | | | tests. Thanks for the beautiful reduced testcase Duncan! llvm-svn: 63529
* Slim down the specific_decl_iterator, since NULL denotes the end of the ↵Douglas Gregor2009-02-023-30/+23
| | | | | | range. Good eyes, Chris llvm-svn: 63528
* Do not add redundant arguments in a method definition DIE.Devang Patel2009-02-022-11/+121
| | | | llvm-svn: 63527
* Make this test case smaller.Devang Patel2009-02-021-86/+16
| | | | llvm-svn: 63526
* Check value-initializations that occur when an initializer listDouglas Gregor2009-02-025-20/+134
| | | | | | provides too few elements. llvm-svn: 63525
* Duncan's patch. Further to 64382. Takes care of illegal types for shift amount.Sanjiv Gupta2009-02-022-0/+28
| | | | llvm-svn: 63523
* RewriteObjC::RewriteBlockDeclRefExpr(): Add parens to enforce precedence. ↵Steve Naroff2009-02-021-2/+9
| | | | | | | | This fixes <rdar://problem/6529468> clang ObjC rewriter: Need parenthesis around dereferences in rewritten Blocks. Also changed RewriteObjC::SynthesizeBlockFunc() to declare a pointer to the block argument even when there are no user-supplied arguments to the block. llvm-svn: 63522
* Made the common case of default address space directive as non-virtual for ↵Sanjiv Gupta2009-02-023-34/+40
| | | | | | performance reasons. Provide a single virtual interface for directives of all sizes in non-default address spaces. llvm-svn: 63521
* allow cast from array to int to be considered as constantNuno Lopes2009-02-022-3/+14
| | | | llvm-svn: 63519
* avoid creating tmp files elsewhereNuno Lopes2009-02-021-1/+1
| | | | llvm-svn: 63518
* fix PR3459: improve compatibility with gcc when checking for constant exprsNuno Lopes2009-02-022-4/+13
| | | | llvm-svn: 63517
* Fix a comment (bytes -> bits), reformat a commentDuncan Sands2009-02-021-29/+29
| | | | | | | and remove trailing whitespace. No functionality change. llvm-svn: 63511
* Fix an obvious thinko.Duncan Sands2009-02-021-1/+1
| | | | llvm-svn: 63510
* ADD / SUB / SMUL / UMUL with overflow second result top bits must be zero.Evan Cheng2009-02-021-0/+8
| | | | llvm-svn: 63509
* This passes on x86-32 linux at least.Duncan Sands2009-02-021-1/+0
| | | | llvm-svn: 63508
* Make the XFAIL line actually match x86-32 targets.Duncan Sands2009-02-021-1/+1
| | | | llvm-svn: 63507
* Add comment.Evan Cheng2009-02-021-0/+2
| | | | llvm-svn: 63506
* Teach LowerBRCOND to recognize (xor (setcc x), 1). The xor inverts the ↵Evan Cheng2009-02-022-0/+44
| | | | | | condition. It's normally transformed by the dag combiner, unless the condition is set by a arithmetic op with overflow. llvm-svn: 63505
* reject things like: zext <4 x i32> %tmp to i256Chris Lattner2009-02-021-0/+10
| | | | llvm-svn: 63504
* validation error fix.Chris Lattner2009-02-021-2/+0
| | | | llvm-svn: 63503
* Document type upreferences (PR3380), patch by Stein Roger SkafløttenChris Lattner2009-02-021-1/+53
| | | | | | with enhancements and corrections by me. llvm-svn: 63502
* Fix PR3372Chris Lattner2009-02-022-2/+9
| | | | llvm-svn: 63501
* reduce indentation, (~XorCST->getValue()).isSignBit() -> isMaxSignedValue()Chris Lattner2009-02-021-20/+19
| | | | llvm-svn: 63500
* reduce testcase.Chris Lattner2009-02-021-480/+18
| | | | llvm-svn: 63499
* Preserve more SourceValue information.Mon P Wang2009-02-022-8/+18
| | | | llvm-svn: 63498
* add 2 more testcases for -mattr=-sse (r63495).Torok Edwin2009-02-012-0/+66
| | | | | | | | | --This line, and those below, will be ignaored-- A test/CodeGen/X86/nosse-error1.ll A test/CodeGen/X86/nosse-error2.ll llvm-svn: 63496
* Implement -mno-sse: if SSE is disabled on x86-64, don't store XMM on stack forTorok Edwin2009-02-015-7/+70
| | | | | | var-args, and don't allow FP return values llvm-svn: 63495
* Fix PR3453 and probably a bunch of other potentialDuncan Sands2009-02-017-42/+57
| | | | | | | | | crashes or wrong code with codegen of large integers: eliminate the legacy getIntegerVTBitMask and getIntegerVTSignBit methods, which returned their value as a uint64_t, so couldn't handle huge types. llvm-svn: 63494
* Forgot some more DebugLoc propagations.Bill Wendling2009-02-011-17/+22
| | | | llvm-svn: 63493
* Fix test failures causes by my previous commit.Owen Anderson2009-02-011-0/+1
| | | | llvm-svn: 63492
* Fix for PR3447: use padded sizes for computations on struct/union Eli Friedman2009-02-011-5/+5
| | | | | | constants. llvm-svn: 63491
* Fix an issue in PHI construction that was exposed by GCC 4.2 producing a ↵Owen Anderson2009-02-011-40/+27
| | | | | | different set iteration order for the reg_iterator. llvm-svn: 63490
* Fix PR3423: Link llvm on ARM EABI machines. Patch by Robert Schuster.Evan Cheng2009-02-011-3/+3
| | | | llvm-svn: 63489
* DebugLoc propagation.Dale Johannesen2009-01-312-179/+233
| | | | llvm-svn: 63488
* Reinstate this optimization to fold icmp of xor when possible. Don't try toNick Lewycky2009-01-313-6/+72
| | | | | | | turn icmp eq a+x, b+x into icmp eq a, b if a+x or b+x has other uses. This may have been increasing register pressure leading to the bzip2 slowdown. llvm-svn: 63487
* DebugLoc propagation. Done with file.Dale Johannesen2009-01-311-45/+61
| | | | llvm-svn: 63486
* DebugLoc propagation. Done with file.Dale Johannesen2009-01-311-15/+23
| | | | llvm-svn: 63485
* Forgot to add this test.Anders Carlsson2009-01-311-0/+31
| | | | llvm-svn: 63484
* Fix PR3452 (an infinite loop bootstrapping) by disabling the recentChris Lattner2009-01-313-10/+497
| | | | | | | | | | | improvements to the EvaluateInDifferentType code. This code works by just inserted a bunch of new code and then seeing if it is useful. Instcombine is not allowed to do this: it can only insert new code if it is useful, and only when it is converging to a more canonical fixed point. Now that we iterate when DCE makes progress, this causes an infinite loop when the code ends up not being used. llvm-svn: 63483
* Fix PR3401: when using large integers, the typeDuncan Sands2009-01-3112-101/+155
| | | | | | | | | | | | | returned by getShiftAmountTy may be too small to hold shift values (it is an i8 on x86-32). Before and during type legalization, use a large but legal type for shift amounts: getPointerTy; afterwards use getShiftAmountTy, fixing up any shift amounts with a big type during operation legalization. Thanks to Dan for writing the original patch (which I shamelessly pillaged). llvm-svn: 63482
* now that all the pieces are in place, teach instcombine'sChris Lattner2009-01-312-2/+82
| | | | | | | | | | | | | | simplifydemandedbits to simplify instructions with *multiple uses* in contexts where it can get away with it. This allows it to simplify the code in multi-use-or.ll into a single 'add double'. This change is particularly interesting because it will cover up for some common codegen bugs with large integers created due to the recent SROA patch. When working on fixing those bugs, this should be disabled. llvm-svn: 63481
OpenPOWER on IntegriCloud