aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* New VNInfo alignment patch by Ryan Flynn.Lang Hames2009-07-141-14/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75609 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the internal interface to makeNameProper to take a bool thatChris Lattner2009-07-146-46/+31
| | | | | | | | | | | | | | indicates whether the label is private or not, instead of taking prefix stuff. One effect of this is that symbols will be generated with *just* the private prefix, instead of both the private prefix *and* the user-label-prefix, but this doesn't matter as long as it is consistent. For example we'll now get "Lfoo" instead of "L_foo". These are just assembler temporary labels anyway, so they never even make it into the .o file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75607 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbroke LiveInterval.Lang Hames2009-07-141-4/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75588 91177308-0d34-0410-b5e6-96231b3b80d8
* Tidy up VNInfo alignment code. Patch contributed by Ryan Flynn.Lang Hames2009-07-141-22/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75587 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix trivial todo in instcombine.Eli Friedman2009-07-142-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75586 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. In Thumb mode, select tBx instead of ARM variants.Evan Cheng2009-07-142-20/+16
| | | | | | | | 2. BX does not "use" the link register, it defines it. 3. Fix a couple more places in thumb td file that still uses pre-UAL syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75585 91177308-0d34-0410-b5e6-96231b3b80d8
* Update LoopSimplify and LoopUnswitch to use the new makeLoopInvariantDan Gohman2009-07-143-17/+17
| | | | | | | function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75584 91177308-0d34-0410-b5e6-96231b3b80d8
* Port this unittest to use LLVMContext.Dan Gohman2009-07-141-30/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75583 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove hack now that Evan fixed it so that the frame pointer isn't saved twice.Bill Wendling2009-07-141-23/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75581 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix indvars to not assume that a loop with a single unique exitDan Gohman2009-07-142-7/+52
| | | | | | | block has a single unique exiting block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75579 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce a new LoopInfo utility function makeLoopInvariant, whichDan Gohman2009-07-142-1/+89
| | | | | | | | | | | | works similar to isLoopInvariant, except that it will do trivial hoisting to try to make the value loop invariant if it isn't already. This makes it easier for transformation passes to clear trivial instructions out of the way (the regular LICM pass doesn't run until relatively late). This is code factored out of LoopSimplify and other places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75578 91177308-0d34-0410-b5e6-96231b3b80d8
* use getValueName instead of makeNameProper.Chris Lattner2009-07-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75577 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix detection of valid BFC immediates.David Goodwin2009-07-142-10/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75576 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not use Mangler to remove '1' from linkage name.Devang Patel2009-07-142-17/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75574 91177308-0d34-0410-b5e6-96231b3b80d8
* Check for the correct unnamed name.Bill Wendling2009-07-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75573 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix pr4544. When remating, make sure the destination register fits the ↵Evan Cheng2009-07-141-0/+11
| | | | | | | | | instruction definition. It may be mismatched due to sub-register coalescing. No test case yet because the code doesn't trigger until 75408 is re-applied. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75572 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't delete asm's just because their inputs are undefined;Dale Johannesen2009-07-142-8/+28
| | | | | | | | xor R, R is a common and valid idiom for zeroing a register, for example. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75571 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a newline, now that Value's operator<< doesn't print one.Dan Gohman2009-07-141-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75568 91177308-0d34-0410-b5e6-96231b3b80d8
* FreeInst is trapping.Dan Gohman2009-07-141-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75567 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an obvious copy-and-paste error.Bob Wilson2009-07-141-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75566 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 75308.Bob Wilson2009-07-144-203/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75565 91177308-0d34-0410-b5e6-96231b3b80d8
* the mangler can never mangle intrinsics, don't allow this.Chris Lattner2009-07-141-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75564 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix obvious typo.Eli Friedman2009-07-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75563 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 75309.Bob Wilson2009-07-141-106/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75562 91177308-0d34-0410-b5e6-96231b3b80d8
* rename Memo/Count to AnonGlobalIDs/NextAnonGlobalID to be more Chris Lattner2009-07-142-24/+23
| | | | | | | | | | | | descriptive. Thange them to keep track of the ID of a global that is assigned, not the first mangled name returned for it. Without doing this, we are required to always use the same suffix for a global that gets mangled. This means that we can mangle the same global once with $stub and another time with $non_lazy_ptr or whatever. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75561 91177308-0d34-0410-b5e6-96231b3b80d8
* Move more functionality over to LLVMContext.Owen Anderson2009-07-134-91/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75559 91177308-0d34-0410-b5e6-96231b3b80d8
* remove Mangler::getTypeID and related data, it was only used for manglingChris Lattner2009-07-132-19/+1
| | | | | | | local symbols and we haven't had type planes since llvm 1.9. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75558 91177308-0d34-0410-b5e6-96231b3b80d8
* remove mangler support for mangling local names. Mangler should only be Chris Lattner2009-07-132-15/+0
| | | | | | | used with globals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75557 91177308-0d34-0410-b5e6-96231b3b80d8
* fix CBE & MSIL backends to not use the mangler for non-global symbols.Chris Lattner2009-07-133-27/+54
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75556 91177308-0d34-0410-b5e6-96231b3b80d8
* don't print redundant @PLT suffixesChris Lattner2009-07-131-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75554 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert an accidental commit.Evan Cheng2009-07-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75553 91177308-0d34-0410-b5e6-96231b3b80d8
* the mangler should put suffixes on unnamed global's mangled names as well Chris Lattner2009-07-131-1/+1
| | | | | | | if present. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75547 91177308-0d34-0410-b5e6-96231b3b80d8
* Move a bit more functionality to LLVMContext, which apparently wasn't being ↵Owen Anderson2009-07-134-25/+34
| | | | | | used anyways. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75546 91177308-0d34-0410-b5e6-96231b3b80d8
* Added llvm-mc support for parsing the .abort directive.Kevin Enderby2009-07-135-0/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75545 91177308-0d34-0410-b5e6-96231b3b80d8
* Check in a reduced version of this testcase.Dan Gohman2009-07-131-17376/+563
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75544 91177308-0d34-0410-b5e6-96231b3b80d8
* Print a newline after printing a Value, now that Value's operator<<Dan Gohman2009-07-131-1/+1
| | | | | | | doesn't print a newline. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75543 91177308-0d34-0410-b5e6-96231b3b80d8
* #include "llvm/Assembly/Writer.h" to get the declaration for WriteAsOperand.Dan Gohman2009-07-131-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75542 91177308-0d34-0410-b5e6-96231b3b80d8
* Two changes:Chris Lattner2009-07-132-11/+3
| | | | | | | | | | | | 1) unique globals with the existing "Count" local in Mangler, not with atomic nonsense. Using atomics will give us nondeterminstic output from the compiler when using multiple threads, which is bad. 2) Do not mangle an unknown global name with a type suffix. We don't need this anymore now that llvm ir doesn't have type planes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75541 91177308-0d34-0410-b5e6-96231b3b80d8
* Use assertion.Devang Patel2009-07-131-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75540 91177308-0d34-0410-b5e6-96231b3b80d8
* PR4548: optimize zext+udiv+trunc to udiv.Eli Friedman2009-07-132-1/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75539 91177308-0d34-0410-b5e6-96231b3b80d8
* Inline EvalVectorOp in order to get rid of passing-pointer-to-static-methods ↵Owen Anderson2009-07-131-38/+132
| | | | | | behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75538 91177308-0d34-0410-b5e6-96231b3b80d8
* Cleanup the global emission and refactor some codeBruno Cardoso Lopes2009-07-134-104/+110
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75537 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the build.Owen Anderson2009-07-131-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75536 91177308-0d34-0410-b5e6-96231b3b80d8
* NewNightlyTest.pl - Add -configure-args option.Daniel Dunbar2009-07-131-0/+2
| | | | | | | - For adding arbitrary arguments to pass to configure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75535 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug in run-line.Eli Friedman2009-07-131-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75534 91177308-0d34-0410-b5e6-96231b3b80d8
* Add testcases for PR4538, PR4537, and PR4534.Dan Gohman2009-07-133-0/+17780
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75533 91177308-0d34-0410-b5e6-96231b3b80d8
* clean up some syntax.Chris Lattner2009-07-131-12/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75532 91177308-0d34-0410-b5e6-96231b3b80d8
* Canonicalize boolean +/- a constant to a select.Eli Friedman2009-07-132-6/+39
| | | | | | | | | | (I think it's reasonably clear that we want to have a canonical form for constructs like this; if anyone thinks that a select is not the best canonical form, please tell me.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75531 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a few assertion strings.Dan Gohman2009-07-131-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75530 91177308-0d34-0410-b5e6-96231b3b80d8
* Forward-declare Loop and LoopInfo instead of #including LoopInfo.h.Dan Gohman2009-07-136-9/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75529 91177308-0d34-0410-b5e6-96231b3b80d8