aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-11-14Teach InstructionSimplify about phi nodes. I chose to have it simplyDuncan Sands
offload the work to hasConstantValue rather than do something more complicated (such handling mutually recursive phis) because (1) it is not clear it is worth it; and (2) if it is worth it, maybe such logic would be better placed in hasConstantValue. Adjust some GVN tests which are now cleaned up much further (eg: all phi nodes are removed). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119043 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14Boost the power of phi node constant folding slightly: if allDuncan Sands
operands are the phi node itself or undef, then return undef. This logic already existed at a higher level so in practice it shouldn't make the slightest difference. Note that this code could be replaced by a call to PN->hasConstantValue(). However since we bail out the moment we see a non-constant operand, it is more efficient to have a specialized version of that logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119041 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14unittests/CMakeLists.txt: Add missing VMCore/ValueMapTest.cpp to VMCoreTests.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119040 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14Strip trailing whitespace.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119038 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14rename test.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119033 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14filecheckize, remove an old and useless testChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119032 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14this test is pretty pointless and "propogation" isn't a word (or so Misha ↵Chris Lattner
claims). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119031 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14Second attempt at providing correct encodings for Thumb2 binary operators.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119029 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14Handle a peculiar comdat case: Creating a section with an undefinedRafael Espindola
signature symbol causes a local symbol to be created unless there is some other use of the symbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119026 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14FileCheck: Eliminate DOSish \r from input file.NAKAMURA Takumi
It can pass two tests below on Win32. - Clang :: CodeGenCXX/dyncast.cpp - LLVM :: CodeGen/ARM/globals.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119023 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14Simplify getSymbolIndexInSymbolTable by setting the actual index ofRafael Espindola
the symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119022 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14Fix warning.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119021 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Testcase to go along with commit 118923 ("Have GVN simplify instructionsDuncan Sands
as it goes"). Before -std-compile-opts only got it down to %a = tail call i32 @foo(i32 0) readnone %x = tail call i32 @foo(i32 %a) readnone %y = tail call i32 @foo(i32 %a) readnone %z = icmp eq i32 %x, %y ret i1 %z while now -basicaa -gvn alone reduce it to %a = call i32 @foo(i32 0) readnone %x = call i32 @foo(i32 %a) readnone ret i1 true git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119009 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Recognise 32-bit ror-based bswap implementation used by uclibcPeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119007 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Support ; as asm separatorPeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119006 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Generalize the reassociation transform in SimplifyCommutative (now renamed toDuncan Sands
SimplifyAssociativeOrCommutative) "(A op C1) op C2" -> "A op (C1 op C2)", which previously was only done if C1 and C2 were constants, to occur whenever "C1 op C2" simplifies (a la InstructionSimplify). Since the simplifying operand combination can no longer be assumed to be the right-hand terms, consider all of the possible permutations. When compiling "gcc as one big file", transform 2 (i.e. using right-hand operands) fires about 4000 times but it has to be said that most of the time the simplifying operands are both constants. Transforms 3, 4 and 5 each fired once. Transform 6, which is an existing transform that I didn't change, never fired. With this change, the testcase is now optimized perfectly with one run of instcombine (previously it required instcombine + reassociate + instcombine, and it may just have been luck that this worked). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119002 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Fix typo pointed out by Trevor Harmon.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119001 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Comment out the defms until they're activated.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119000 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Add uses of the *_ldst_multi multiclasses. These aren't used yet.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118999 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Convert the modes to lower case.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118998 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Minor cleanups:Bill Wendling
- Get the opcode once. - Add a ParserMatchClass to reglist. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118997 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Add *_ldst_mult multiclasses to the ARM back-end. These will be used in theBill Wendling
future to separate out the ia, ib, da, db variants of the load/store multiple instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118995 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13MC: Simplify Mach-O and ELF object writer implementations.Daniel Dunbar
- What was I thinking????? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118992 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Fixed error and re-enabled MBlaze MC disassembler tests.Wesley Peck
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118987 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Conditional moves are slightly more expensive than moves.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118985 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Fix warning and add support for printing gnu_unique_object.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118981 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Parse and record the gnu_unique_object type.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118980 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Trailing whitespace.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118978 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13This test stops after disassembling 1 instructions onDale Johannesen
darwin and, judging from the buildbots, Linux. Removing it for now, but this is not the right fix, Wesley please look at it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118977 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Parse and remember discriminators in .loc line. I try to output them withRafael Espindola
another patch. This lets us parse a bit more of the gcc 4.5 output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118975 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Add test cases that should have been committed with 118969.Wesley Peck
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118974 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13JIT: More nitty style tweakage, aka territory marking.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118973 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13report_fatal_error: Simplify a possible ambiguity.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118972 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13More style nittiness.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118971 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Clean up some doxyments/style.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118970 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-131. Adding test cases for MBlaze MC disassembler.Wesley Peck
2. Fixing several errors in disassembler uncovered by test cases. 3. Fixing invalid encoding of PCMPEQ and PCMPNE uncovered by test cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118969 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Add conditional move of large immediate.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118968 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Swap multiclass operand order for consistency with other patterns.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118965 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Continue ARM indexed load refactoring. Multiclass for LDR{B} pre/post indexedJim Grosbach
instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118963 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Fix the encoding of negative line deltas.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118962 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Fix some more 80-col violas.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118959 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Fix 80-col violation / non-sensicalness.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118958 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13More ARM load/store indexed refactoring. Also fix an incorrect IndexModeJim Grosbach
flag for the LDRT/STRT family instructions as a side effect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118955 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Revert r118917, which is implicated in the llvm-gcc-i386-linux-selfhost failure.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118954 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Update CMake.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118953 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13lli: Switch to using ParseIRFile, for consistency with other LLVM tools.Daniel Dunbar
- Also, switch tests to not using llvm-as. They run 20% faster now, not that it matters. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118952 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13Fix an obvious typo which inverted an immediate.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118951 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13This should be still failing, but is. Disable it with theEric Christopher
forget-me-stick for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118950 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-131. Adding missing immediate mode asm parser test cases.Wesley Peck
2. Fixing improper immediate mode reverse subtract. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118948 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-12Temporarily revert this.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118946 91177308-0d34-0410-b5e6-96231b3b80d8