summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* vtable building for simple inheritance. Still in progress.Mike Stump2009-08-042-4/+30
| | | | llvm-svn: 78110
* Replace dregsingle operand modifier with explicit escaped curly brackets.Bob Wilson2009-08-042-4/+2
| | | | | | | For other VLDn and VSTn operations, we need to list the multiple registers explicitly anyway, so there's no point in special-casing this one usage. llvm-svn: 78109
* Convert a few Neon tests to use FileCheck.Bob Wilson2009-08-043-20/+71
| | | | llvm-svn: 78108
* Clean up the handling of two-address operands in RegScavenger.Jakob Stoklund Olesen2009-08-042-12/+36
| | | | | | This fixes PR4528. llvm-svn: 78107
* Don't give implicit machine operands special treatment in the register ↵Jakob Stoklund Olesen2009-08-041-5/+2
| | | | | | | | | scavenger. Imp-def is *not* allowed to redefine a live register. Imp-use is *not* allowed to use a dead register. llvm-svn: 78106
* Restlyize to match other targets, fixes cmake build to boot.Mike Stump2009-08-042-2/+7
| | | | llvm-svn: 78105
* Enable load / store multiple pass for Thumb2. It's not using ldrd / strd yet.Evan Cheng2009-08-044-8/+53
| | | | llvm-svn: 78104
* remove a random reference to subtarget. Even without this, weChris Lattner2009-08-041-2/+0
| | | | | | | still get "intel syntax" instructions from llc with -x86-asm-syntax=intel llvm-svn: 78103
* Canonicalize else.Mike Stump2009-08-0412-169/+114
| | | | llvm-svn: 78102
* Add NEON single-precision FP support for fabs and fneg.David Goodwin2009-08-045-6/+58
| | | | llvm-svn: 78101
* Test cases for some recent work.Mike Stump2009-08-041-3/+25
| | | | llvm-svn: 78100
* TableGen / AsmMatcher: Tweaks to avoid generating completely bogus matchDaniel Dunbar2009-08-041-17/+75
| | | | | | | | | | functions. - Fix variant flattening when the variant embeds an operand reference. - Ignore instructions which reference an operand multiple times (e.g., "xorb $dst, $dst"), and operands which have extra flags (e.g., "$dst:subreg32"). llvm-svn: 78099
* When exec() fails, return 127 instead of errno; the parent process has no way toDaniel Dunbar2009-08-041-3/+3
| | | | | | | distinguish that the result is errno, so it can't use it to provide more information about the error (it also exposes the numeric value of errno). llvm-svn: 78098
* Privatize the last bit of Constant-creation state.Owen Anderson2009-08-044-455/+433
| | | | llvm-svn: 78097
* rip out SectionEndDirectiveSuffix support, only uses byChris Lattner2009-08-044-13/+0
| | | | | | | the masm backend. If anyone cares about masm in the future, we'll have semantic sections it can hang off of. llvm-svn: 78096
* Don't tamper with <undef> operands in MachineInstr::addRegisterKilled.Jakob Stoklund Olesen2009-08-041-3/+1
| | | | | | | For an undef operand, MO.getReg() is meaningless and we should not use it. Undef operands should be skipped entirely. llvm-svn: 78095
* Will I ever get used to CamelCase? Will I ever like capitols forMike Stump2009-08-041-7/+5
| | | | | | | | | random variables? --This line, and those below, will be ignored-- M lib/CodeGen/CGCXX.cpp llvm-svn: 78094
* LowerSubregsInstructionPass::LowerExtract should not extend the live range ↵Jakob Stoklund Olesen2009-08-043-15/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of registers. When LowerExtract eliminates an EXTRACT_SUBREG with a kill flag, it moves the kill flag to the place where the sub-register is killed. This can accidentally overlap with the use of a sibling sub-register, and we have trouble. In the test case we have this code: Live Ins: %R0 %R1 %R2 %R2L<def> = EXTRACT_SUBREG %R2<kill>, 1 %R2H<def> = LOAD16fi <fi#-1>, 0, Mem:LD(2,4) [FixedStack-1 + 0] %R1L<def> = EXTRACT_SUBREG %R1<kill>, 1 %R0L<def> = EXTRACT_SUBREG %R0<kill>, 1 %R0H<def> = ADD16 %R2H<kill>, %R2L<kill>, %AZ<imp-def>, %AN<imp-def>, %AC0<imp-def>, %V<imp-def>, %VS<imp-def> subreg: CONVERTING: %R2L<def> = EXTRACT_SUBREG %R2<kill>, 1 subreg: eliminated! subreg: killed here: %R0H<def> = ADD16 %R2H, %R2L, %R2<imp-use,kill>, %AZ<imp-def>, %AN<imp-def>, %AC0<imp-def>, %V<imp-def>, %VS<imp-def> The kill flag on %R2 is moved to the last instruction, and the live range overlaps with the definition of %R2H: *** Bad machine code: Redefining a live physical register *** - function: f - basic block: 0x18358c0 (#0) - instruction: %R2H<def> = LOAD16fi <fi#-1>, 0, Mem:LD(2,4) [FixedStack-1 + 0] Register R2H was defined but already live. The fix is to replace EXTRACT_SUBREG with IMPLICIT_DEF instead of eliminating it completely: subreg: CONVERTING: %R2L<def> = EXTRACT_SUBREG %R2<kill>, 1 subreg: replace by: %R2L<def> = IMPLICIT_DEF %R2<kill> Note that these IMPLICIT_DEF instructions survive to the asm output. It is necessary to fix the stack-color-with-reg test case because of that. llvm-svn: 78093
* Add armv7 support.Mike Stump2009-08-041-2/+8
| | | | llvm-svn: 78092
* Enforce stricter rules in machine code verifier.Jakob Stoklund Olesen2009-08-041-20/+15
| | | | | | | | | | | Implicit operands no longer get a free pass: Imp-use requires a live register and imp-def requires a dead register. There is also no special rule allowing redefinition of a sub-register when the super-register is live. The super register must have imp-kill+imp-def operands instead. llvm-svn: 78090
* Most flags are reserved registers on Blackfin.Jakob Stoklund Olesen2009-08-041-0/+11
| | | | | | The only exception is CC. llvm-svn: 78089
* In thumb mode, r7 is used as frame register. This fixes pr4681.Evan Cheng2009-08-042-0/+40
| | | | llvm-svn: 78086
* Match common pattern for FNMAC. Add NEON SP support.David Goodwin2009-08-043-1/+6
| | | | llvm-svn: 78085
* Revert the fix for PR3800, it broke things.Anders Carlsson2009-08-042-2/+15
| | | | llvm-svn: 78084
* Improve tests.David Goodwin2009-08-042-8/+23
| | | | llvm-svn: 78083
* Legalize i64 store operations generated by inst-combine.Sanjiv Gupta2009-08-041-2/+20
| | | | llvm-svn: 78082
* Initial support for single-precision FP using NEON. Added "neonfp" attribute ↵David Goodwin2009-08-0416-16/+168
| | | | | | to enable. Added patterns for some binary FP operations. llvm-svn: 78081
* Renable "html" indexing by default.Ted Kremenek2009-08-041-1/+1
| | | | llvm-svn: 78077
* Add some type traits that are used for Clang's statically-checkedDouglas Gregor2009-08-041-0/+27
| | | | | | canonical types. llvm-svn: 78076
* Some code refactoring. Be more generous in issuance of warningFariborz Jahanian2009-08-042-24/+38
| | | | | | on method type mismatches per Chris's comment. llvm-svn: 78075
* Fix PR4528. This scavenger assertion is too strict. The two-address value isEvan Cheng2009-08-042-1/+27
| | | | | | | | | killed by another operand. There is probably a better fix. Either 1) scavenger can look at other operands, or 2) livevariables can be smarter about kill markers. Patches welcome. llvm-svn: 78072
* Refactor template instantiation for types into a generic treeDouglas Gregor2009-08-044-444/+1209
| | | | | | | | | transformation template (TreeTransform) that handles the transformation and reconstruction of AST nodes. Template instantiation for types is a (relatively small) customization of the generic tree transformation. llvm-svn: 78071
* Avoid compiler warning (in -Asserts mode)Daniel Dunbar2009-08-041-2/+2
| | | | llvm-svn: 78070
* Simplify alignment handling in the record builder.Anders Carlsson2009-08-041-12/+18
| | | | llvm-svn: 78069
* enhance codegen to put 16-bit character strings into the Chris Lattner2009-08-043-19/+18
| | | | | | __TEXT,__ustring section on darwin. llvm-svn: 78068
* fix a fixme: don't create an explicit "CStringSection" for ELF,Chris Lattner2009-08-042-11/+4
| | | | | | it is just being used as a prefix, so forward substitute it directly. llvm-svn: 78067
* Add support emiting for 2/4 byte mergable strings to the ".rodata.str*"Chris Lattner2009-08-042-12/+75
| | | | | | section on ELF targets. llvm-svn: 78066
* * Use "svn export" instead of "svn co" and avoid cleaning up .svn dirsMisha Brukman2009-08-041-14/+14
| | | | | | | * Use "svn info" to get last revision in repo, will get matching tarballs * Now run "svn -q" since "svn info" tells us the revision number llvm-svn: 78065
* Ooops, I was too fast to commit the wrong fix :(Anton Korobeynikov2009-08-041-2/+2
| | | | llvm-svn: 78060
* Fix a typo - this unbreaks llvm-gcc build on armAnton Korobeynikov2009-08-041-2/+2
| | | | llvm-svn: 78059
* Thumb2 does not have ib (increment before) and da (decrement after) forms of ↵Evan Cheng2009-08-041-4/+10
| | | | | | ldm / stm. llvm-svn: 78057
* Use separate ValueList for metadata.Devang Patel2009-08-047-44/+242
| | | | | | This fixes PR4666. llvm-svn: 78056
* make MergeableCString be a SectionKind "abstract class", andChris Lattner2009-08-044-23/+69
| | | | | | | | add new concrete versions for 1/2/4-byte mergable strings. These are not actually created yet. llvm-svn: 78055
* Minor www site formating improvements.Edward O'Callaghan2009-08-041-6/+5
| | | | llvm-svn: 78054
* Revert recent bitcode writer patches.Devang Patel2009-08-042-89/+94
| | | | llvm-svn: 78053
* Some compiler-rt www site improvements.Edward O'Callaghan2009-08-041-8/+34
| | | | llvm-svn: 78052
* llvm-gcc checks the static asm variable is valid in ↵Bill Wendling2009-08-041-0/+4
| | | | | | ValidateRegisterVariable. Make this work for PPC. llvm-svn: 78051
* lit: Some sample tests, for testing the testerDaniel Dunbar2009-08-045-0/+20
| | | | llvm-svn: 78050
* Fix test case for Darwin10 (which sets ssp), and move to CodeGen/Daniel Dunbar2009-08-041-16/+16
| | | | llvm-svn: 78049
* switch ValueMap to using AssertingVH. This is an old patch I had layingChris Lattner2009-08-044-11/+12
| | | | | | around in a tree I forgot about. llvm-svn: 78048
OpenPOWER on IntegriCloud