aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Support adding relocations for data sections, handling the cases whereBruno Cardoso Lopes2009-07-214-25/+60
| | | | | | | | global declared symbols are initialized with references from other global symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76540 91177308-0d34-0410-b5e6-96231b3b80d8
* remove a very large testcase for now.Chris Lattner2009-07-211-2891/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76537 91177308-0d34-0410-b5e6-96231b3b80d8
* Add jumps with 8-bit relocation for assembler / disassembler. Patch by Sean ↵Evan Cheng2009-07-211-0/+24
| | | | | | Callanan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76536 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a dagga combiner bug: avoid creating illegal constant.Evan Cheng2009-07-212-9/+41
| | | | | | | | | Is this really a winning transformation? fold (shl (srl x, c1), c2) -> (shl (and x, (shl -1, c1)), (sub c2, c1)) or (srl (and x, (shl -1, c1)), (sub c1, c2)) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76535 91177308-0d34-0410-b5e6-96231b3b80d8
* Move a bit more state over to the LLVMContext.Owen Anderson2009-07-216-56/+49
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76533 91177308-0d34-0410-b5e6-96231b3b80d8
* Add the following functions:Bill Wendling2009-07-211-0/+12
| | | | | | | | | | | | | - SYSCALL (normal fast system call instruction) [0f 05] - SYSENTER (system call entry instruction) [0f 34] - SYSEXIT (system call exit instruction) [0f 35] - SYSEXIT64 (system call exit instruction to 64-bit user code) [REX.W 0f 35] - SYSRET (system call return instruction) [0f 07] Patch by Sean Callanan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76528 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a testcase for PR2831.Dan Gohman2009-07-211-0/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76527 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a testcase for PR4569, which is now fixed.Dan Gohman2009-07-211-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76526 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an svn:ignore.Dan Gohman2009-07-210-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76525 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the range calculations for addrecs to be more conservative,Dan Gohman2009-07-211-3/+9
| | | | | | | | as they aren't currently prepared to handle complicated overflow cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76524 91177308-0d34-0410-b5e6-96231b3b80d8
* Whitespace cleanups.Dan Gohman2009-07-211-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76523 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor code simplification.Dan Gohman2009-07-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76521 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix ARM isle code that optimize multiply by constants which are power-of-2 ↵Evan Cheng2009-07-213-16/+61
| | | | | | +/- 1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76520 91177308-0d34-0410-b5e6-96231b3b80d8
* Cross RC coalescing is now on by default.Evan Cheng2009-07-212-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76519 91177308-0d34-0410-b5e6-96231b3b80d8
* revert 76503 while I figure out what's going onDale Johannesen2009-07-211-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76517 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a comment to clarify why there isn't any code in this spot.Dan Gohman2009-07-201-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76505 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the code that tried to evaluate whether (A pred B) is knownDan Gohman2009-07-201-42/+0
| | | | | | | | by determining if (B pred (B-A)) is known, as it doesn't handle overflow correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76504 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure a global matching asm 'i' constraint gets itsDale Johannesen2009-07-201-5/+2
| | | | | | | | | | | | flags set properly. (hasMemory is clearly irrelevant when matching 'i', I don't understand what this was supposed to be doing.) gcc.apple/asm-block-25.c (test passed before by accident, but generated code was wrong) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76503 91177308-0d34-0410-b5e6-96231b3b80d8
* Move stripping of bitcasts in inline asm argumentsDale Johannesen2009-07-202-12/+7
| | | | | | | | | to a place where it affects everything. Occurs only on calls AFAIK. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76502 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor code simplification.Dan Gohman2009-07-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76496 91177308-0d34-0410-b5e6-96231b3b80d8
* Documentation for the new non-overflow and exact keywords.Dan Gohman2009-07-201-11/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76495 91177308-0d34-0410-b5e6-96231b3b80d8
* The upper argument of ConstantRange is exclusive, not inclusive.Dan Gohman2009-07-202-1/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76492 91177308-0d34-0410-b5e6-96231b3b80d8
* clean up some formatting, indent by 2 instead of 4.Chris Lattner2009-07-201-19/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76490 91177308-0d34-0410-b5e6-96231b3b80d8
* CMP and TST define CPSR, not use it.David Goodwin2009-07-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76489 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-apply 75490, 75806 and 76177 with fixes and tests. Efficiency comesDavid Greene2009-07-207-17/+3078
| | | | | | | next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76486 91177308-0d34-0410-b5e6-96231b3b80d8
* Forgot this test earlier.Evan Cheng2009-07-201-0/+1323
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76485 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the code in DarwinTargetAsmInfo::emitUsedDirectiveFor so that ↵Bill Wendling2009-07-202-17/+16
| | | | | | humans can understand it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76480 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass in the unfortunately named "LessPrivatePrefix" for theBill Wendling2009-07-205-5/+10
| | | | | | | | | "LinkerPrivatePrefix". It seems to have been used in only one place before I started this "linker_private" business. I'm thinking that a rename is in order... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76479 91177308-0d34-0410-b5e6-96231b3b80d8
* Assembly and Bitcode support for unsigned/signed overflow flags andDan Gohman2009-07-2012-4/+387
| | | | | | | exact sdiv flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76475 91177308-0d34-0410-b5e6-96231b3b80d8
* Use TII->findCommutedOpIndices to find the commute operands (rather than ↵Evan Cheng2009-07-202-4/+19
| | | | | | guessing). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76472 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the casting of linkage types into a map. This makes this much more robustBill Wendling2009-07-201-3/+88
| | | | | | | | as it no longer depends upon two different enums being kept in sync with each other. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76465 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify that OverflowingBinaryOperator is not used for SDiv, even thoughDan Gohman2009-07-201-1/+2
| | | | | | | SDiv is a binary operation that can overflow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76464 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed the DumpSymbolsandMacros and LoadSymbolsandMacros MCStreamer API asKevin Enderby2009-07-205-39/+9
| | | | | | | | | | the parsing of the .dump and .load should be done in the assembly parser and not have any need for an MCStreamer API. Changed the code for now so these just produce an error saying these specific directives are not yet implemented since they are likely no longer used and may never need to be implemented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76462 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MCAsmLexer interface.Daniel Dunbar2009-07-207-13/+91
| | | | | | | - This provides the AsmLexer interface to the target specific assembly parsers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76460 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some sub-reg coalescing bugs where the coalescer wasn't updating the ↵Evan Cheng2009-07-204-34/+253
| | | | | | resulting interval's register class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76458 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove FIXME that was already fixed.Eli Friedman2009-07-201-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76457 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename Mangler linkage enums to something less gross.Bill Wendling2009-07-204-23/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76456 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor metadata parsing routines into separate functions.Devang Patel2009-07-202-27/+46
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76455 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MCAsmParser interface.Daniel Dunbar2009-07-208-6/+93
| | | | | | | | - This provides the AsmParser interface to the target specific assembly parsers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76453 91177308-0d34-0410-b5e6-96231b3b80d8
* Build FileCheck from with CMakeDouglas Gregor2009-07-201-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76449 91177308-0d34-0410-b5e6-96231b3b80d8
* Put new enum at end of list to avoid changing ABI.Bill Wendling2009-07-201-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76447 91177308-0d34-0410-b5e6-96231b3b80d8
* remove TargetAsmInfo::ExpandInlineAsmChris Lattner2009-07-203-113/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76445 91177308-0d34-0410-b5e6-96231b3b80d8
* use ExpandInlineAsm on TargetLowering instead of TargetAsmInfo.Chris Lattner2009-07-201-14/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76442 91177308-0d34-0410-b5e6-96231b3b80d8
* Copy ExpandInlineAsm to TargetLowering from TargetAsmInfo.Chris Lattner2009-07-203-0/+106
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76441 91177308-0d34-0410-b5e6-96231b3b80d8
* Drop UDivOperator and introduce SDivOperator. Thanks to ChrisDan Gohman2009-07-201-5/+5
| | | | | | | for noticing this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76440 91177308-0d34-0410-b5e6-96231b3b80d8
* add some fixme's and cleanups. TargetAsmInfo shouldn't depend on VMCore ↵Chris Lattner2009-07-201-5/+9
| | | | | | eventually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76439 91177308-0d34-0410-b5e6-96231b3b80d8
* Update this comment.Dan Gohman2009-07-201-7/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76438 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert the addition of hasNoPointerOverflow to GEPOperator.Dan Gohman2009-07-2012-267/+44
| | | | | | | | | | | | | Getelementptrs that are defined to wrap are virtually useless to optimization, and getelementptrs that are undefined on any kind of overflow are too restrictive -- it's difficult to ensure that all intermediate addresses are within bounds. I'm going to take a different approach. Remove a few optimizations that depended on this flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76437 91177308-0d34-0410-b5e6-96231b3b80d8
* remove dead forward declChris Lattner2009-07-201-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76433 91177308-0d34-0410-b5e6-96231b3b80d8
* For remote execution, must cd to the executable directory since the exe ↵David Goodwin2009-07-201-3/+4
| | | | | | expects to find a dylib in the CWD ('.'). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76432 91177308-0d34-0410-b5e6-96231b3b80d8