summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* fix some warnings in release-asserts mode.Chris Lattner2009-03-261-20/+19
| | | | llvm-svn: 67738
* fix an apparently real bug exposed by a warning in -asserts mode.Chris Lattner2009-03-261-3/+4
| | | | llvm-svn: 67737
* fix warning in -asserts build.Chris Lattner2009-03-261-4/+2
| | | | llvm-svn: 67736
* Add testcase for r67728.Bill Wendling2009-03-261-0/+25
| | | | llvm-svn: 67729
* Match this pattern so that we can generate simpler code:Bill Wendling2009-03-261-0/+39
| | | | | | | | | | | | | | | | | | | | %a = ... %b = and i32 %a, 2 %c = srl i32 %b, 1 %d = br i32 %c, into %a = ... %b = and %a, 2 %c = X86ISD::CMP %b, 0 %d = X86ISD::BRCOND %c ... This applies only when the AND constant value has one bit set and the SRL constant is equal to the log2 of the AND constant. The back-end is smart enough to convert the result into a TEST/JMP sequence. llvm-svn: 67728
* Doxygen-ify comments.Bill Wendling2009-03-261-2/+2
| | | | llvm-svn: 67727
* Skip debug info one more place. (This one getsDale Johannesen2009-03-261-6/+12
| | | | | | | called from llc, not opt, but it's an IR level optimization nevertheless.) llvm-svn: 67724
* Before deleting a basic block, give other loop passes a chance cleanup ↵Devang Patel2009-03-253-1/+47
| | | | | | analysis values, related to the instructions in the basic block. llvm-svn: 67719
* Modify getRegisterValueType() to allow for a register being in mutlipleJim Grosbach2009-03-251-5/+26
| | | | | | | | register classes. Before, MVT::Other would be returned anytime a reg was in multiple register classes. Now, MVT::Other is only returned if the types for those register classes differ. llvm-svn: 67714
* Add a test case for PR3779: when to promote the function return value.Evan Cheng2009-03-251-0/+16
| | | | llvm-svn: 67702
* Revert 67132. This is breaking some objective-c apps.Evan Cheng2009-03-2513-50/+37
| | | | | | Also fixes SDISel so it *does not* force promote return value if the function is not marked signext / zeroext. llvm-svn: 67701
* One more test.Evan Cheng2009-03-251-1/+6
| | | | llvm-svn: 67694
* When optimizing with debug info, don't keep theDale Johannesen2009-03-251-4/+5
| | | | | | | | stoppoint nodes around until Legalize; doing this imposed an ordering on a sequence of loads that came from different lines, interfering with scheduling. llvm-svn: 67692
* Add __builtin___memcpy_chk tests.Evan Cheng2009-03-251-0/+23
| | | | llvm-svn: 67691
* These tests pass on linux.Duncan Sands2009-03-253-3/+3
| | | | llvm-svn: 67689
* Add a __builtin_object_size test.Evan Cheng2009-03-251-0/+16
| | | | llvm-svn: 67688
* Fix a bug in our autoupgrade support: in an argument list to a functionChris Lattner2009-03-252-4/+19
| | | | | | | | | | | | call, we should treat "i64 zext" as the start of a constant expr, but "i64 0 zext" as an argument with an obsolete attribute on it (this form is already tested by test/Assembler/2007-07-30-AutoUpgradeZextSext.ll). Make the autoupgrade logic more discerning to avoid treating "i64 zext" as an old-style attribute, causing us to reject a valid constant expr. This fixes PR3876. llvm-svn: 67682
* do not rely on callee being operand 0Gabor Greif2009-03-251-1/+1
| | | | llvm-svn: 67681
* Do not ignore DW_TAG_class_type!Devang Patel2009-03-251-0/+1
| | | | llvm-svn: 67675
* CodeGen still defaults to non-verbose asm, but llc now overrides it and ↵Evan Cheng2009-03-251-0/+3
| | | | | | default to verbose. llvm-svn: 67669
* CodeGen still defaults to non-verbose asm, but llc now overrides it and ↵Evan Cheng2009-03-2555-134/+166
| | | | | | default to verbose. llvm-svn: 67668
* Don't print global names twice with -asm-verbose.Evan Cheng2009-03-252-3/+3
| | | | llvm-svn: 67667
* Revert r67655 and r67656, as they are breaking the build. I'mDan Gohman2009-03-253-1392/+1010
| | | | | | not going to persue this further at this time. llvm-svn: 67666
* Fix PR3874 by restoring a condition I removed, but making it moreChris Lattner2009-03-252-1/+11
| | | | | | precise than it used to be. llvm-svn: 67662
* Do not ignore DW_TAG_class_type!Devang Patel2009-03-251-0/+1
| | | | llvm-svn: 67661
* LLVM's master Makefile.common is in LLVM_SRC_ROOT, not LLVM_OBJ_ROOT.Dan Gohman2009-03-251-1/+1
| | | | llvm-svn: 67658
* oops, I intended to remove this, not comment it out. Thanks Duncan!Chris Lattner2009-03-241-2/+1
| | | | llvm-svn: 67657
* Regenerate configure.Dan Gohman2009-03-241-1004/+1386
| | | | llvm-svn: 67656
* Fix paths; AutoRegen.sh changes its current working directory to be theDan Gohman2009-03-242-6/+6
| | | | | | | autoconf directory, but these paths need to be relative to the main source directory. llvm-svn: 67655
* Update for autoconf 2.6x;Dan Gohman2009-03-241-3/+3
| | | | llvm-svn: 67654
* Converted a1.ll to unittests.Misha Brukman2009-03-246-49/+197
| | | | llvm-svn: 67652
* Mention explicitly that the Ada front-end will not bootstrap.Duncan Sands2009-03-241-0/+5
| | | | | | | The configure line had --disable-bootstrap, but it was not clear that this is essential. llvm-svn: 67651
* Fix PR3845: Avoid stale MachineInstruction pointer reference.Evan Cheng2009-03-241-3/+1
| | | | llvm-svn: 67649
* Fix bash-isms.Dan Gohman2009-03-241-2/+2
| | | | llvm-svn: 67647
* simplify logic and get rid of the assumption that operand 0 is the calleeGabor Greif2009-03-241-3/+3
| | | | llvm-svn: 67642
* canonicalize inttoptr and ptrtoint instructions which cast pointers Chris Lattner2009-03-242-5/+53
| | | | | | | | to/from integer types that are not intptr_t to convert to intptr_t then do an integer conversion to the dest type. This exposes the cast to the optimizer. llvm-svn: 67638
* fix one more fp80 case (used only by Interpreter)Dale Johannesen2009-03-241-21/+5
| | | | | | and streamline code here a bit. llvm-svn: 67636
* two changes:Chris Lattner2009-03-242-45/+36
| | | | | | | | | | | 1. Make instcombine always canonicalize trunc x to i1 into an icmp(x&1). This exposes the AND to other instcombine xforms and is more of what the code generator expects. 2. Rewrite the remaining trunc pattern match to use 'match', which simplifies it a lot. llvm-svn: 67635
* Change JIT for different layout of fp80.Dale Johannesen2009-03-241-5/+5
| | | | llvm-svn: 67629
* Add a testcase for the scheduling heuristic introduced in r67586.Dan Gohman2009-03-241-0/+242
| | | | llvm-svn: 67622
* more tidying: name the components of PhysReg in the case whenChris Lattner2009-03-241-8/+9
| | | | | | the target constraint specifies a specific physreg. llvm-svn: 67618
* Tidy a bit more.Chris Lattner2009-03-241-3/+3
| | | | llvm-svn: 67617
* simplify this code a bit now that "allocation to a vreg class" can neverChris Lattner2009-03-241-16/+13
| | | | | | fail. llvm-svn: 67616
* I was convinced that it's ok to allow a second i8 return valueDan Gohman2009-03-241-7/+8
| | | | | | | | | | | to be returned in DL. LLVM's multiple-return-value support is not ABI-conforming; front-ends that wish to have code emitted that conforms to an ABI are currently expected to make arrangements for this on their own rather than assuming that multiple-return-values will automatically do the right thing. This commit doesn't fundamentally change this situation. llvm-svn: 67588
* Minor compile-time optimization; don't bother checkingDan Gohman2009-03-241-1/+1
| | | | | | | canClobberPhysRegDefs if the successor node doesn't clobber any physical registers. llvm-svn: 67587
* Add a pre-pass to the burr-list scheduler which makes adjustments toDan Gohman2009-03-241-0/+120
| | | | | | | | | help out the register pressure reduction heuristics in the case of nodes with multiple uses. Currently this uses very conservative heuristics, so it doesn't have a broad impact, but in cases where it does help it can make a big difference. llvm-svn: 67586
* Do not emit comments unless -asm-verbose.Evan Cheng2009-03-2410-134/+229
| | | | llvm-svn: 67580
* Use a SmallPtrSet instead of std::set.Dale Johannesen2009-03-232-4/+3
| | | | llvm-svn: 67578
* Fix a bug in spill weight computation. If the alias is a super-register, and ↵Evan Cheng2009-03-232-7/+57
| | | | | | | | | | | the super-register is in the register class we are trying to allocate. Then add the weight to all sub-registers of the super-register even if they are not aliases. e.g. allocating for GR32, bh is not used, updating bl spill weight. bl should get the same spill weight otherwise it will be choosen as a spill candidate since spilling bh doesn't make ebx available. This fix PR2866. llvm-svn: 67574
* Add sanity check in Clang TableGen backend to check if 'Component' is a string.Ted Kremenek2009-03-231-1/+1
| | | | llvm-svn: 67565
OpenPOWER on IntegriCloud