- Feb 24, 2010
-
-
John McCall authored
llvm-svn: 97032
-
John McCall authored
a common source of oddities and, in theory, removes some redundant ABI computations. Also fixes a miscompile I introduced yesterday by refactoring some code and causing a slightly different code path to be taken that didn't perform *parameter* type canonicalization, just normal type canonicalization; this in turn caused a bit of ABI code to misfire because it was looking for 'double' or 'float' but received 'const float'. llvm-svn: 97030
-
- Feb 23, 2010
-
-
Devang Patel authored
llvm-svn: 96999
-
Blaine Garst authored
llvm-svn: 96998
-
Rafael Espindola authored
Add support for the weakref attribute. We still produce "alias weak" as llvm-gcc does, but are more strict on what uses of weakref we accept. llvm-svn: 96992
-
Blaine Garst authored
of the block descriptor field. This field is the ObjC style @encode signature of the implementation function, and was to this point conditionally provided in the block literal data structure. That provisional support is removed. Additionally, eliminate unused enumerations for the block literal flags field. The first shipping ABI unconditionally set (1<<29) but this bit is unused by the runtime, so the second ABI will unconditionally have (1<<30) set so that the runtime can in fact distinguish whether the additional data is present or not. llvm-svn: 96989
-
Eli Friedman authored
llvm-svn: 96958
-
- Feb 18, 2010
-
-
Charles Davis authored
does. Fixes PR5253. llvm-svn: 96553
-
- Feb 16, 2010
-
-
Devang Patel authored
llvm-svn: 96397
-
Charles Davis authored
Win32-specific. Also, fix a test to use FileCheck instead of grepping LLVM IR. llvm-svn: 96364
-
- Feb 15, 2010
-
-
Devang Patel authored
llvm-svn: 96245
-
- Feb 13, 2010
-
-
Charles Davis authored
marked 'force_align_arg_pointer'. Almost there; now all I need to do is finish up the backend. llvm-svn: 96100
-
- Feb 10, 2010
-
-
Devang Patel authored
llvm-svn: 95743
-
- Feb 09, 2010
-
-
Daniel Dunbar authored
IRgen: Add CreateMemTemp, for creating an temporary memory object for a particular type, and flood fill. - CreateMemTemp sets the alignment on the alloca correctly, which fixes a great many places in IRgen where we were doing the wrong thing. - This fixes many many more places than the test case, but my feeling is we need to audit alignment systematically so I'm not inclined to try hard to test the individual fixes in this patch. If this bothers you, patches welcome! PR6240. llvm-svn: 95648
-
- Feb 05, 2010
-
-
John McCall authored
follows (as conservatively as possible) gcc's current behavior: attributes written on return types that don't apply there are applied to the function instead, etc. Only parse CC attributes as type attributes, not as decl attributes; don't accepet noreturn as a decl attribute on ValueDecls, either (it still needs to apply to other decls, like blocks). Consistently consume CC/noreturn information throughout codegen; enforce this by removing their default values in CodeGenTypes::getFunctionInfo(). llvm-svn: 95436
-
Charles Davis authored
llvm-svn: 95428
-
Charles Davis authored
getting the calling convention from the target function, which may or may not exist. Fixes PR5280. llvm-svn: 95399
-
- Feb 02, 2010
-
-
Douglas Gregor authored
WHAT!?! It turns out that Type::isPromotableIntegerType() was not considering enumeration types to be promotable, so we would never do the promotion despite having properly computed the promotion type when the enum was defined. Various operations on values of enum type just "worked" because we could still compute the integer rank of an enum type; the oddity, however, is that operations such as "add an enum and an unsigned" would often have an enum result type (!). The bug actually showed up as a spurious -Wformat diagnostic (<rdar://problem/7595366>), but in theory it could cause miscompiles. In this commit: - Enum types with a promotion type of "int" or "unsigned int" are promotable. - Tweaked the computation of promotable types for enums - For all of the ABIs, treat enum types the same way as their underlying types (*not* their promotion types) for argument passing and return values - Extend the ABI tester with support for enumeration types llvm-svn: 95117
-
Daniel Dunbar authored
llvm-svn: 95030
-
Daniel Dunbar authored
llvm-svn: 95029
-
- Feb 01, 2010
-
-
Chris Lattner authored
by setting the section of the generated global. This is an optimization done by the code generator, and the code being removed didn't handle the case when the string contained an embedded nul (which the code generator does correctly handle). This is rdar://7589850 llvm-svn: 95003
-
- Jan 29, 2010
-
-
Devang Patel authored
llvm-svn: 94821
-
Daniel Dunbar authored
the ABI spec, this turns out to simplify the code. We still have some annoying code which mismatches the spec with regard to empty structures. llvm-svn: 94796
-
- Jan 28, 2010
-
-
Anders Carlsson authored
llvm-svn: 94754
-
- Jan 23, 2010
-
-
Benjamin Kramer authored
llvm-svn: 94306
-
- Jan 13, 2010
-
-
Mike Stump authored
llvm-svn: 93340
-
- Jan 08, 2010
-
-
Dan Gohman authored
targethook, which is no longer being used. This fixes PR5971. llvm-svn: 92987
-
- Jan 03, 2010
-
-
Benjamin Kramer authored
llvm-svn: 92453
-
Eli Friedman authored
llvm-svn: 92435
-
Eli Friedman authored
coverage. llvm-svn: 92433
-
Eli Friedman authored
llvm-svn: 92430
-
- Dec 26, 2009
-
-
Eli Friedman authored
call; the standard doesn't expect us to, and the program could be doing something crazy. Fixes PR5882. llvm-svn: 92166
-
- Dec 23, 2009
-
-
Chris Lattner authored
llvm-svn: 92065
-
Chris Lattner authored
error_unsupported on test10 and crashed on test11. llvm-svn: 92056
-
Eric Christopher authored
only takes a boolean second argument now. Update tests accordingly. Currently the builtin still accepts the full range for compatibility. llvm-svn: 91983
-
- Dec 18, 2009
-
-
Daniel Dunbar authored
clang -cc1: Rename -mcpu to -target-cpu to match other target options and not alias driver/backend option. llvm-svn: 91671
-
- Dec 15, 2009
-
-
Daniel Dunbar authored
clang ' or ' clang -cc1 ' or ' clang-cc ' in test lines (by substituting them to garbage). llvm-svn: 91460
-
Daniel Dunbar authored
- This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
-
- Dec 14, 2009
-
-
Fariborz Jahanian authored
llvm-svn: 91303
-
Nate Begeman authored
llvm-svn: 91269
-