Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Don't use x86_mmx where it isn't necessary. | Eli Friedman | 2011-07-02 | 1 | -6/+1 | |
| | | | | | | The start of some work on getting -mno-mmx working the way we want it to. llvm-svn: 134300 | |||||
* | We don't pass classes with a copy-constructor or destructor byval, so the ↵ | Eli Friedman | 2011-06-29 | 1 | -0/+2 | |
| | | | | | | | | | | address takes up an integer register (if one is available). Make sure the x86-64 ABI implementation takes that into account properly. The fixed implementation is compatible with the implementation both gcc and llvm-gcc use. rdar://9686430 . (This is the issue that was reported in the thread "[LLVMdev] Segfault calling LLVM libs from a clang-compiled executable".) llvm-svn: 134059 | |||||
* | 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 |