aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Reverted r152620 - DSE: Shorten memset when a later store overwrites the ↵Pete Cooper2012-02-282-137/+2
| | | | | | start of it. There were all sorts of buildbot issues git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151621 91177308-0d34-0410-b5e6-96231b3b80d8
* DSE: Shorten memset when a later store overwrites the start of itPete Cooper2012-02-282-2/+137
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151620 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops...Don't commit the other stuff..Bill Wendling2012-02-281-44/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151618 91177308-0d34-0410-b5e6-96231b3b80d8
* Modify comment to reflect the importance of this code.Bill Wendling2012-02-281-29/+44
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151617 91177308-0d34-0410-b5e6-96231b3b80d8
* Add comments.Akira Hatanaka2012-02-281-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151615 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not reserve $gp as a dedicated global base register if the target ABI is ↵Akira Hatanaka2012-02-281-1/+2
| | | | | | not O32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151614 91177308-0d34-0410-b5e6-96231b3b80d8
* Strip extraneous information, if present, from the linker version string onCharles Davis2012-02-282-2/+2
| | | | | | | Mac OS X. Patch by Fabian Groffen, with a slight tweak by me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151612 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for floating point base register + offset register addressing modeAkira Hatanaka2012-02-288-4/+217
| | | | | | | | load and store instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151611 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle regmasks in MachineCSE.Jakob Stoklund Olesen2012-02-282-0/+37
| | | | | | | | Don't attempt to extend physreg live ranges across calls. <rdar://problem/10942095> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151610 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable -Wcovered-switch-default as it matches the switch style used in llvm.Rafael Espindola2012-02-289-12/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151609 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle regmasks in the machine code verifier.Jakob Stoklund Olesen2012-02-281-0/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151607 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable ARM base pointer when calling functions with large arguments.Jakob Stoklund Olesen2012-02-284-5/+73
| | | | | | | | | | | | | | | | | | When an outgoing call takes more than 2k of arguments on the stack, we don't allocate that call frame in the prolog, but adjust the stack pointer immediately before the call instead. This causes problems with the emergency spill slot because PEI can't track stack pointer adjustments on the second pass, and if the outgoing arguments are too big, SP can't be used to reach the emergency spill slot at all. Work around these problems by ensuring there is a base or frame pointer that can be used to access the emergency spill slot. <rdar://problem/10917166> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151604 91177308-0d34-0410-b5e6-96231b3b80d8
* [Object] Add {begin,end}_dynamic_symbols stubs and implementation for ELF.Michael J. Spencer2012-02-2811-23/+168
| | | | | | | | Add -D option to llvm-nm to dump dynamic symbols. Patch by David Meyer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151600 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix 80-column violation.Chad Rosier2012-02-281-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151599 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow llvm-stress to optionally generate the other floating-point types ↵Hal Finkel2012-02-271-14/+40
| | | | | | (half, ppcf128, mmx, etc.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151596 91177308-0d34-0410-b5e6-96231b3b80d8
* Add back removed code. It still causes LLVM to miscompile. But not having it ↵Bill Wendling2012-02-272-3/+30
| | | | | | breaks other things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151594 91177308-0d34-0410-b5e6-96231b3b80d8
* This patch adds instruction latencies for the SSE instructionsPreston Gurd2012-02-273-728/+1697
| | | | | | | | to the instruction scheduler for the Intel Atom. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151590 91177308-0d34-0410-b5e6-96231b3b80d8
* test commit.Preston Gurd2012-02-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151588 91177308-0d34-0410-b5e6-96231b3b80d8
* Duncan pointed out that if the alignment isn't explicitly specified, it ↵Eli Friedman2012-02-272-5/+5
| | | | | | defaults to the ABI alignment. Given that, make this code a bit more aggressive in such cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151584 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete incorrect reference to inexistent Hexagon architecture manuals.Evandro Menezes2012-02-271-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151582 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't use #if 0. Just remove until I can address this.Bill Wendling2012-02-271-35/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151580 91177308-0d34-0410-b5e6-96231b3b80d8
* XFAIL test until <rdar://problem/10913281> is fixed.Bill Wendling2012-02-271-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151578 91177308-0d34-0410-b5e6-96231b3b80d8
* The code that cleans up multiple, isomorphic types has a subtle error thatBill Wendling2012-02-271-3/+7
| | | | | | | | manifests itself when building LLVM with LTO. <rdar://problem/10913281> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151576 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove duplicate copy of Object/ELF.h that somehow managed to get in.Michael J. Spencer2012-02-271-1487/+0
| | | | | | Patch by David Meyer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151575 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for PR12090: clear def maps of aliases when visiting a copy. e.g.Evan Cheng2012-02-271-0/+5
| | | | | | | | | | %S5<def> = COPY %S0<kill> First clear def map of Q1, etc. No small test case available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151574 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM BL/BLX instruction fixups should use relocations.Jim Grosbach2012-02-2711-20/+57
| | | | | | | | | | | | | We on the linker to resolve calls to the appropriate BL/BLX instruction to make interworking function correctly. It uses the symbol in the relocation to do that, so we need to be careful about being too clever. To enable this for ARM mode, split the BL/BLX fixup kind off from the unconditional-branch fixups. rdar://10927209 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151571 91177308-0d34-0410-b5e6-96231b3b80d8
* Move "clang/Analysis/Support/SaveAndRestore.h" to "llvm/ADT/SaveAndRestore.h"Argyrios Kyrtzidis2012-02-271-0/+47
| | | | | | to make it more widely available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151564 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach BasicAA about the LLVM IR rules that allow reading past the end of an ↵Eli Friedman2012-02-273-10/+52
| | | | | | object given sufficient alignment. Fixes PR12098. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151553 91177308-0d34-0410-b5e6-96231b3b80d8
* Test the section specification.Roman Divacky2012-02-271-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151552 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR12089Derek Schuff2012-02-271-1/+1
| | | | | | | | http://llvm.org/bugs/show_bug.cgi?id=12089 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151550 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply r151278 with fixes.Roman Divacky2012-02-272-8/+20
| | | | | | | | MCize function entry label emission on PowerPC64 properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151547 91177308-0d34-0410-b5e6-96231b3b80d8
* Add q suffix aliases for the fistp and fisttp mnemonics.Chad Rosier2012-02-271-0/+2
| | | | | | | | | rdar://10921670 PR11935 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151543 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unnecessary template parameters.Akira Hatanaka2012-02-271-15/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151540 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix instruction predicates that were not set correctly.Akira Hatanaka2012-02-271-8/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151538 91177308-0d34-0410-b5e6-96231b3b80d8
* Update machine code verifier.Jakob Stoklund Olesen2012-02-271-35/+91
| | | | | | | | | After the SlotIndex slot names were updated, it is possible to apply stricter checks to live intervals. Also treat bundles as bags of operands when checking live intervals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151531 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the symbolic operand added for the C disassmbler API for the ARM blKevin Enderby2012-02-271-1/+1
| | | | | | | thumb instruction. The PC adjustment is +4 in Thumb mode and +8 in ARM mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151530 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a MachineOperand iterator class.Jakob Stoklund Olesen2012-02-271-0/+67
| | | | | | | | The MIOperands iterator can visit operands on a single instruction, or all operands in a bundle. This simplifies code like the register allocator that treats bundles as a set of operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151529 91177308-0d34-0410-b5e6-96231b3b80d8
* Plog a memleak in GlobalOpt.Benjamin Kramer2012-02-271-1/+1
| | | | | | Found by valgrind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151525 91177308-0d34-0410-b5e6-96231b3b80d8
* Micro-optimization, no functionality change.Duncan Sands2012-02-271-7/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151524 91177308-0d34-0410-b5e6-96231b3b80d8
* Help the compiler to eliminate some dead code when hashing an array of TJay Foad2012-02-271-3/+5
| | | | | | where sizeof (T) is a multiple of 4. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151523 91177308-0d34-0410-b5e6-96231b3b80d8
* The value numbering function is recursive, so it is possible for multiple newDuncan Sands2012-02-271-2/+2
| | | | | | | | | value numbers to be assigned when calculating any particular value number. Enhance the logic that detects new value numbers to take this into account, for a tiny compile time speedup. Fix a comment typo while there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151522 91177308-0d34-0410-b5e6-96231b3b80d8
* When performing a conditional branch depending on the value of a comparisonDuncan Sands2012-02-272-4/+126
| | | | | | | | | | %cmp (eg: A==B) we already replace %cmp with "true" under the true edge, and with "false" under the false edge. This change enhances this to replace the negated compare (A!=B) with "false" under the true edge and "true" under the false edge. Reported to improve perlbench results by 1%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151517 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove HexagonGenIntrinsics.inc from Hexagon cmake file. It does not appear ↵Craig Topper2012-02-271-1/+0
| | | | | | in the Makefile and the output it produces isn't used. The Hexagon intrinsics are all in the global Intrinsics.gen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151514 91177308-0d34-0410-b5e6-96231b3b80d8
* Update tblgen command guide. Remove unused tblgen InstrEnumEmitter files.Craig Topper2012-02-274-96/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151513 91177308-0d34-0410-b5e6-96231b3b80d8
* delete useless comment&blankJia Liu2012-02-271-16/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151512 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix this assert. IP can point to an instruction with strange dominanceRafael Espindola2012-02-272-15/+50
| | | | | | | properties (invoke). Just assert that the instruction we return dominates the insertion point. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151511 91177308-0d34-0410-b5e6-96231b3b80d8
* X86 disassembler support for jcxz, jecxz, and jrcxz. Fixes PR11643. Patch by ↵Craig Topper2012-02-278-3/+36
| | | | | | Kay Tiong Khoo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151510 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove more GCC FE build stuff.Chad Rosier2012-02-263-49/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151507 91177308-0d34-0410-b5e6-96231b3b80d8
* Installing the GCC front end is no longer supported.Chad Rosier2012-02-261-94/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151506 91177308-0d34-0410-b5e6-96231b3b80d8
* Cleanup the LLVM Getting Started page.Chad Rosier2012-02-261-54/+64
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151505 91177308-0d34-0410-b5e6-96231b3b80d8