aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use ScalarEvolution's new GetMinSignBits and GetMinLeadingZerosDan Gohman2009-06-201-3/+6
| | | | | | | | in the loop backedge-taken count computation of the maximum possible trip count. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73805 91177308-0d34-0410-b5e6-96231b3b80d8
* Add debugging code to test for various locking faux-pas's, when running in ↵Owen Anderson2009-06-202-2/+38
| | | | | | | | | single threaded mode. This should help improve testing coverage for threading support, without having extensive actually concurrent clients yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73803 91177308-0d34-0410-b5e6-96231b3b80d8
* Forgot this file.Owen Anderson2009-06-201-8/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73802 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r73790, and replace it with a significantly less ugly solution. ↵Owen Anderson2009-06-207-475/+356
| | | | | | | | | | Rather than trying to make the global reader-writer lock work, create separate recursive mutexes for each value map. The recursive-ness fixes the double-acquiring issue, which having one per ValueMap lets us continue to maintain some concurrency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73801 91177308-0d34-0410-b5e6-96231b3b80d8
* stub out some hacky code for wiring up the new asmprinter interfacesChris Lattner2009-06-195-13/+99
| | | | | | | | on X86. Not useful yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73799 91177308-0d34-0410-b5e6-96231b3b80d8
* allow clients of the asmprinter to opt-out of the boilerplate with a #define.Chris Lattner2009-06-191-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73798 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in a comment that Frits von Bommel noticed.Dan Gohman2009-06-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73796 91177308-0d34-0410-b5e6-96231b3b80d8
* Make GetMinTrailingZeros a member function of ScalarEvolution,Dan Gohman2009-06-192-22/+97
| | | | | | | | | | | | so that it can access the TargetData member (when available) and use ValueTracking.h information to compute information for SCEVUnknown Values. Also add GetMinLeadingZeros and GetMinSignBits functions, with minimal implementations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73794 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-apply r73718, now that the fix in r73787 is in, and add aDan Gohman2009-06-194-32/+66
| | | | | | | | hand-crafted testcase which demonstrates the bug that was exposed in 254.gap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73793 91177308-0d34-0410-b5e6-96231b3b80d8
* DwarfWriter is used to emit EH info also.Devang Patel2009-06-191-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73792 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable arm pre-allocation load / store multiple optimization pass.Evan Cheng2009-06-194-25/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73791 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a serious bug that would cause deadlock during abstract type refinement. ↵Owen Anderson2009-06-198-356/+469
| | | | | | | | | | | The constant creation gets involved, and we end up trying to recursively acquire a writer lock. The fix for this is slightly horrible, and involves passing a boolean "locked" parameter around in Constants.cpp, but it's better than having locked and unlocked versions of most of the code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73790 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix LSR's OptimizeSMax to ignore max operators with more than 2 operands,Dan Gohman2009-06-191-0/+5
| | | | | | | which it isn't prepared to handle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73787 91177308-0d34-0410-b5e6-96231b3b80d8
* mv CodeGen/DebugLoc.h Support/DebugLoc.hDevang Patel2009-06-198-13/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73786 91177308-0d34-0410-b5e6-96231b3b80d8
* Move up dwarf writer initialization in common AsmPrinter class.Devang Patel2009-06-199-56/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73784 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 73718. It's breaking 254.gap.Evan Cheng2009-06-193-35/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73783 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak cyclic depsAnton Korobeynikov2009-06-199-40/+104
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73781 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bad paste-o in the MSVC atomics.Owen Anderson2009-06-191-2/+2
| | | | | | | Patch by Иван Сорокин. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73779 91177308-0d34-0410-b5e6-96231b3b80d8
* Forgot to remove some explicit locking when it became implicit in the ValueMap.Owen Anderson2009-06-191-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73778 91177308-0d34-0410-b5e6-96231b3b80d8
* Fences are expensive. Avoid doing them when we're not in multithreaded mode.Owen Anderson2009-06-191-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73777 91177308-0d34-0410-b5e6-96231b3b80d8
* Make ScalarEvolution::print print getSCEVAtScope values forDan Gohman2009-06-191-2/+10
| | | | | | | expressions, when interesting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73776 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the memory fences out of the path for single-threaded mode.Owen Anderson2009-06-192-14/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73775 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't (unconditionally) use getSCEVAtScope to simplify the stepDan Gohman2009-06-192-1/+18
| | | | | | | | | expression in IVUsers, because in the case of a use of a non-linear addrec outside of a loop, this causes the addrec to be evaluated as a linear addrec. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73774 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix incorrect comment pointed out by Duncan.Owen Anderson2009-06-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73773 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up nightly tester to use Perl's File::Find.Bob Wilson2009-06-191-28/+9
| | | | | | | Patch by Benjamin Kramer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73772 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a major typo.Owen Anderson2009-06-191-1/+1
| | | | | | | Nicolas, this is probably the cause of the failures you were seeing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73770 91177308-0d34-0410-b5e6-96231b3b80d8
* make jump threading handle lexically identical compare instructionsChris Lattner2009-06-192-4/+47
| | | | | | | | | as if they were multiple uses of the same instruction. This interacts well with the existing loadpre that j-t does to open up many new jump threads earlier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73768 91177308-0d34-0410-b5e6-96231b3b80d8
* fix the sparc codegen to not depend on the sparc asmprinter.Chris Lattner2009-06-193-11/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73767 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for AuroraUX. Patch by evocallaghan.Duncan Sands2009-06-192-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73766 91177308-0d34-0410-b5e6-96231b3b80d8
* Since -Wno-long-long is ignored without -pedantic,Duncan Sands2009-06-191-3/+3
| | | | | | | | | | place it with -pedantic. Remove -Wunused since it is implied by -Wall. Group -Wno-unused-parameter with -Wall -W since it is the combination of these two that turns on -Wunused-parameter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73765 91177308-0d34-0410-b5e6-96231b3b80d8
* Add comments.Evan Cheng2009-06-191-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73761 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for PR2484: add an SSE1 pattern for a shuffle we normally prefer to Eli Friedman2009-06-192-0/+15
| | | | | | | | handle with an SSE2 instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73760 91177308-0d34-0410-b5e6-96231b3b80d8
* Should be using Bcc (average) latency to determine if-conversion threshold, ↵Evan Cheng2009-06-191-1/+1
| | | | | | not BL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73759 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanup; fixes review comments for a previous patch. Sorry for Eli Friedman2009-06-191-4/+3
| | | | | | | | taking so long to get to this! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73757 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach jump threading to look at comparisons between phi nodes and non-constants.Nick Lewycky2009-06-192-25/+69
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73755 91177308-0d34-0410-b5e6-96231b3b80d8
* Misc tweaks to Intel asm printing to make it more compatible with MASM. Eli Friedman2009-06-193-49/+54
| | | | | | | | Patch by Benedict Gaster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73753 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve tail call elim to move loads above readonly callsChris Lattner2009-06-193-1/+180
| | | | | | | | when it allows forming a tail call. Patch by Frits van Bommel. This implements PR4323. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73752 91177308-0d34-0410-b5e6-96231b3b80d8
* part of PR4405: disable a contentious optimization forChris Lattner2009-06-192-15/+3
| | | | | | | | | strcmp -> memcmp when the lengths of the strings are unknown. Patch by Nick Lewycky! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73751 91177308-0d34-0410-b5e6-96231b3b80d8
* More VNInfo tweaking, plus a little progress on intra-block splitting.Lang Hames2009-06-194-33/+92
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73750 91177308-0d34-0410-b5e6-96231b3b80d8
* Transfer dead markers when a ldrd is changed into a ldm or a pair of ldr.Evan Cheng2009-06-191-15/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73749 91177308-0d34-0410-b5e6-96231b3b80d8
* Include DataTypes.h for 'uint64_t'.Zhongxing Xu2009-06-191-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73748 91177308-0d34-0410-b5e6-96231b3b80d8
* Latency information for ARM v6. It's rough and not yet hooked up. Right now ↵Evan Cheng2009-06-198-52/+147
| | | | | | we are only using branch latency to determine if-conversion limits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73747 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark a few Thumb instructions commutable; just happened to spot this Eli Friedman2009-06-192-0/+13
| | | | | | | | | | while experimenting. I'm reasonably sure this is correct, but please tell me if these instructions have some strange property which makes this change unsafe. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73746 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix weird class-size-being-different problems. At some level this is being ↵Owen Anderson2009-06-192-6/+2
| | | | | | | | | caused by config.h not being included everywhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73745 91177308-0d34-0410-b5e6-96231b3b80d8
* add a file I missed, this goes with r73743Chris Lattner2009-06-191-0/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73744 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some scaffolding for a new experimental asmprinterChris Lattner2009-06-194-0/+109
| | | | | | | | | | | | | implementation. The idea is that we want asmprinting to work by converting MachineInstrs into a new MCInst class, then the per-instruction asmprinter works on MCInst. MCInst and the new asmprinters will not depend on most of the llvm code generators. This allows building diassemblers that don't link in the whole llvm code generator. This is step #1 of many. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73743 91177308-0d34-0410-b5e6-96231b3b80d8
* merge the common darwin settings from the X86/PPC/ARM targetsChris Lattner2009-06-198-139/+59
| | | | | | | | | into DarwinTargetAsmInfo.cpp. The remaining differences should be evaluated. It seems strange that x86/arm has .zerofill but ppc doesn't, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73742 91177308-0d34-0410-b5e6-96231b3b80d8
* fix build problem pointed out by John Thompson!Chris Lattner2009-06-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73739 91177308-0d34-0410-b5e6-96231b3b80d8
* move mangler quote handling from asm printers to TargetAsmInfo.Chris Lattner2009-06-189-38/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73738 91177308-0d34-0410-b5e6-96231b3b80d8
* minor cleanupChris Lattner2009-06-181-5/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73737 91177308-0d34-0410-b5e6-96231b3b80d8