Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | De-Unicode-ify in comments. | NAKAMURA Takumi | 2011-06-21 | 1 | -1/+1 |
| | | | | llvm-svn: 133501 | ||||
* | update for api change. | Chris Lattner | 2011-06-18 | 1 | -7/+4 |
| | | | | llvm-svn: 133365 | ||||
* | Automatic Reference Counting. | John McCall | 2011-06-15 | 1 | -2/+4 |
| | | | | | | | | | | Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions. Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order. llvm-svn: 133103 | ||||
* | Add stuff for o32 ABI conformance. | Akira Hatanaka | 2011-06-02 | 1 | -1/+60 |
| | | | | llvm-svn: 132443 | ||||
* | make the x86-32 backend specify a byval alignment, even when the | Chris Lattner | 2011-05-22 | 1 | -1/+1 |
| | | | | | | | code generator will do it. With this patch, clang compiles the example in PR9794 to not have an alloca temporary. llvm-svn: 131881 | ||||
* | Fix x86-64 byval passing to specify the alignment even when the code | Chris Lattner | 2011-05-22 | 1 | -7/+4 |
| | | | | | | | generator will give it something sufficient. This is important because the mid-level optimizer doesn't know what alignment is required otherwise. llvm-svn: 131879 | ||||
* | Add ARMTargetCodeGenInfo::initDwarfEHRegSizeTable() defining 16 32bit regs. | Roman Divacky | 2011-05-18 | 1 | -0/+16 |
| | | | | llvm-svn: 131558 | ||||
* | Revert r131447, see if it fixes the buildbot. | Argyrios Kyrtzidis | 2011-05-17 | 1 | -2/+5 |
| | | | | llvm-svn: 131450 | ||||
* | Inside isEmptyRecord function, for CXXRecordDecl just check the isEmpty bit. | Argyrios Kyrtzidis | 2011-05-17 | 1 | -5/+2 |
| | | | | llvm-svn: 131447 | ||||
* | Raise ARM byval minimum size from 32 to 64, addressing a performance | Stuart Hastings | 2011-04-28 | 1 | -1/+1 |
| | | | | | | regression in mason. rdar://problem/7662569 llvm-svn: 130444 | ||||
* | Replace unitary array with scalar. rdar://problem/7662569 | Stuart Hastings | 2011-04-28 | 1 | -3/+3 |
| | | | | llvm-svn: 130423 | ||||
* | Replace SmallVector with an array, as suggested by Frits van Bommel. ↵ | Stuart Hastings | 2011-04-28 | 1 | -13/+6 |
| | | | | | | rdar://problem/7662569 llvm-svn: 130417 | ||||
* | Re-enable byval for ARM in clang. rdar://problem/7662569 | Stuart Hastings | 2011-04-27 | 1 | -11/+22 |
| | | | | llvm-svn: 130312 | ||||
* | Temporarily revert r130176, it appears to have broken a few tests. | Eric Christopher | 2011-04-26 | 1 | -22/+11 |
| | | | | llvm-svn: 130179 | ||||
* | Turn on byval parameters in Clang for ARM APCS. rdar://problem/7662569 | Stuart Hastings | 2011-04-25 | 1 | -11/+22 |
| | | | | llvm-svn: 130176 | ||||
* | PTX: Add default PTX calling conventions | Justin Holewinski | 2011-04-22 | 1 | -0/+72 |
| | | | | llvm-svn: 129987 | ||||
* | The 0.98 revision of the x86-64 ABI clarified a lot of things, some | John McCall | 2011-04-21 | 1 | -6/+24 |
| | | | | | | | of which break strict compatibility with previous compilers. Implement one of them and then immediately opt out on Darwin. llvm-svn: 129899 | ||||
* | ADT/Triple: Switch to using .isOSDarwin() predicate. | Daniel Dunbar | 2011-04-19 | 1 | -2/+3 |
| | | | | llvm-svn: 129823 | ||||
* | fix a bunch of comment typos found by codespell. Patch by | Chris Lattner | 2011-04-15 | 1 | -5/+5 |
| | | | | | | Luis Felipe Strano Moraes! llvm-svn: 129559 | ||||
* | Implement ARM pcs attribute. Basically it's another way of calling ↵ | Anton Korobeynikov | 2011-04-14 | 1 | -6/+12 |
| | | | | | | | | | | convention selection (AAPCS or AAPCS+VFP), similar to fastcall / stdcall / whatevercall seen on x86. In particular, all library functions should always be AAPCS regardless of floating point ABI used. llvm-svn: 129534 | ||||
* | Set AAPCS-VFP calling convention accordingly and hard float ABI command ↵ | Sandeep Patel | 2011-04-05 | 1 | -6/+10 |
| | | | | | | handling. llvm-svn: 128866 | ||||
* | Remove PHINode::reserveOperandSpace(). Instead, add a parameter to | Jay Foad | 2011-03-30 | 1 | -2/+1 |
| | | | | | | PHINode::Create() giving the (known or expected) number of operands. llvm-svn: 128538 | ||||
* | When we adjust the inline ASM type, we need to take into account an early | Bill Wendling | 2011-03-07 | 1 | -1/+1 |
| | | | | | | | | clobber with the 'y' constraint. Otherwise, we get the wrong return type and an assert, because it created a '<1 x i64>' vector type instead of the x86_mmx type. llvm-svn: 127185 | ||||
* | Revert "Add CC_Win64ThisCall and set it in the necessary places." | Tilmann Scheller | 2011-03-02 | 1 | -20/+0 |
| | | | | | | This reverts commit 126863. llvm-svn: 126886 | ||||
* | Add CC_Win64ThisCall and set it in the necessary places. | Tilmann Scheller | 2011-03-02 | 1 | -0/+20 |
| | | | | llvm-svn: 126863 | ||||
* | lib/CodeGen/TargetInfo.cpp: On Win64, arg i128 should be emitted as INDIRECT. | NAKAMURA Takumi | 2011-02-22 | 1 | -2/+9 |
| | | | | | | mingw-w64's i128 tweak should be done with x86_64-mingw32. llvm-svn: 126186 | ||||
* | Re-instate r125819 and r125820 with no functionality change | Peter Collingbourne | 2011-02-19 | 1 | -0/+22 |
| | | | | llvm-svn: 126060 | ||||
* | Revert 125820 and 125819 to fix PR9266. | Rafael Espindola | 2011-02-19 | 1 | -22/+0 |
| | | | | llvm-svn: 126050 | ||||
* | Move TargetInfo::adjustInlineAsmType to TargetCodeGenInfo | Peter Collingbourne | 2011-02-18 | 1 | -0/+22 |
| | | | | llvm-svn: 125819 | ||||
* | Triple::MinGW64 is deprecated and removed. We can use Triple::MinGW32 instead. | NAKAMURA Takumi | 2011-02-17 | 1 | -1/+1 |
| | | | | | | No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. llvm-svn: 125742 | ||||
* | Fix whitespace. | NAKAMURA Takumi | 2011-02-17 | 1 | -1/+1 |
| | | | | llvm-svn: 125741 | ||||
* | Add NetBSD target support. Patch by Joerg Sonnenberger. | Benjamin Kramer | 2011-02-02 | 1 | -0/+1 |
| | | | | llvm-svn: 124736 | ||||
* | lib/CodeGen/TargetInfo.cpp: Fix coding style and erase an obsolete comment. | NAKAMURA Takumi | 2011-01-19 | 1 | -6/+4 |
| | | | | llvm-svn: 123790 | ||||
* | lib/CodeGen/TargetInfo.cpp: Add Win64 calling conversion. | NAKAMURA Takumi | 2011-01-17 | 1 | -2/+49 |
| | | | | | | | FIXME: It would be incompatible to Microsoft's in one point. On mingw64-gcc, {i128} is expanded for args and returned as {rax, rdx}. llvm-svn: 123692 | ||||
* | Remove special handling for opaque Neon vector types. | Bob Wilson | 2011-01-11 | 1 | -9/+0 |
| | | | | | | Clang does not wrap the vectors in structs anymore so this isn't needed. llvm-svn: 123241 | ||||
* | Move DefaultABIInfo::classifyReturnType where it belongs. No functional change. | Bob Wilson | 2011-01-10 | 1 | -15/+15 |
| | | | | llvm-svn: 123195 | ||||
* | 1. Add some ABI information for the Microblaze. | Wesley Peck | 2010-12-19 | 1 | -0/+113 |
| | | | | | | 2. Add attibutes "interrupt_handler" and "save_volatiles" for the Microblaze target. llvm-svn: 122184 | ||||
* | Use a twine. | Benjamin Kramer | 2010-11-12 | 1 | -3/+1 |
| | | | | llvm-svn: 118892 | ||||
* | Rename getBaseClassOffset to getBaseClassOffsetInBits and introduce a ↵ | Anders Carlsson | 2010-10-31 | 1 | -2/+2 |
| | | | | | | getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset. llvm-svn: 117881 | ||||
* | Fix Whitespace. | Michael J. Spencer | 2010-10-19 | 1 | -11/+11 |
| | | | | llvm-svn: 116798 | ||||
* | We shouldn't keep track of MMX registers "needed" separately from the SSE | Bill Wendling | 2010-10-18 | 1 | -21/+11 |
| | | | | | | registers needed. llvm-svn: 116772 | ||||
* | Reapply r116684 with fixes. The test cases needed to be updated. | Bill Wendling | 2010-10-18 | 1 | -12/+47 |
| | | | | llvm-svn: 116696 | ||||
* | Temporarily revert r116684. It was causing failures with | Bill Wendling | 2010-10-17 | 1 | -47/+12 |
| | | | | | | | Clang :: CodeGen/x86_32-arguments-darwin.c Clang :: CodeGen/x86_32-arguments-linux.c llvm-svn: 116687 | ||||
* | The "gcc.dg/compat/vector-1 -m32" test was broken after the MMX rewrite. The | Bill Wendling | 2010-10-17 | 1 | -12/+47 |
| | | | | | | | | function parameters weren't converted to use the correct type (x86_mmx). Add a check, similar to the one in llvm-gcc, to see if we need the x86_mmx type for that function parameter. If so, it coerces the type to be that. llvm-svn: 116684 | ||||
* | Per discussion with Sanjiv, remove the PIC16 target from mainline. When/if | Chris Lattner | 2010-10-11 | 1 | -73/+0 |
| | | | | | | | it comes back, it will be largely a rewrite, so keeping the old codebase in tree isn't helping anyone. llvm-svn: 116191 | ||||
* | IRgen/ABI/ARM: Return large vectors in memory. | Daniel Dunbar | 2010-09-23 | 1 | -0/+4 |
| | | | | llvm-svn: 114619 | ||||
* | IRgen/ABI/ARM: Trust the backend to pass vectors correctly for the given ABI. | Daniel Dunbar | 2010-09-23 | 1 | -0/+11 |
| | | | | | | | | | | - Therefore, we can lower out the NEON wrapper structs and pass the vectors directly. This makes a huge difference in the cleanliness of the IR after optimization. - I will trust, but verify, via future ABITest testing (for APCS-GNU, at least). llvm-svn: 114618 | ||||
* | IRgen/ABI/x86-32: Realign indirect arguments when the ABI requires us to pass | Daniel Dunbar | 2010-09-16 | 1 | -15/+24 |
| | | | | | | them with a smaller alignment than the rest of codegen expects. llvm-svn: 114115 | ||||
* | IRgen/ABI: Add support for realigning structures which are passed by indirect | Daniel Dunbar | 2010-09-16 | 1 | -1/+2 |
| | | | | | | reference. llvm-svn: 114114 | ||||
* | IRgen/ABI/x86_32/Darwin: On Darwin, only structures with SSE vector types ↵ | Daniel Dunbar | 2010-09-16 | 1 | -3/+32 |
| | | | | | | | | | | | get passed with a non-default-stack-ABI-alignment (of 16). - This fixes the ABI convenient, but breaks codegen since we now have underaligned arguments. Marginal improvement overall though, and will be fixed in next commit. llvm-svn: 114113 |