| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
temporary name
llvm-svn: 96998
|
| |
|
|
|
|
| |
llvm-gcc does, but are more strict on what uses of weakref we accept.
llvm-svn: 96992
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 96958
|
| |
|
|
|
|
| |
does. Fixes PR5253.
llvm-svn: 96553
|
| |
|
|
| |
llvm-svn: 96397
|
| |
|
|
|
|
|
|
| |
Win32-specific.
Also, fix a test to use FileCheck instead of grepping LLVM IR.
llvm-svn: 96364
|
| |
|
|
|
|
| |
objc method. :)
llvm-svn: 96245
|
| |
|
|
|
|
|
| |
marked 'force_align_arg_pointer'. Almost there; now all I need to do is finish
up the backend.
llvm-svn: 96100
|
| |
|
|
|
|
| |
self, _cmd etc.
llvm-svn: 95743
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 95428
|
| |
|
|
|
|
|
| |
getting the calling convention from the target function, which may or may not
exist. Fixes PR5280.
llvm-svn: 95399
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 95030
|
| |
|
|
| |
llvm-svn: 95029
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 94821
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 94754
|
| |
|
|
| |
llvm-svn: 94306
|
| |
|
|
| |
llvm-svn: 93340
|
| |
|
|
|
|
| |
targethook, which is no longer being used. This fixes PR5971.
llvm-svn: 92987
|
| |
|
|
|
|
| |
any side-effects.
llvm-svn: 92453
|
| |
|
|
| |
llvm-svn: 92435
|
| |
|
|
|
|
| |
coverage.
llvm-svn: 92433
|
| |
|
|
| |
llvm-svn: 92430
|
| |
|
|
|
|
|
| |
call; the standard doesn't expect us to, and the program could be doing
something crazy. Fixes PR5882.
llvm-svn: 92166
|
| |
|
|
| |
llvm-svn: 92065
|
| |
|
|
|
|
| |
error_unsupported on test10 and crashed on test11.
llvm-svn: 92056
|
| |
|
|
|
|
|
| |
only takes a boolean second argument now. Update tests accordingly.
Currently the builtin still accepts the full range for compatibility.
llvm-svn: 91983
|
| |
|
|
|
|
| |
not alias driver/backend option.
llvm-svn: 91671
|
| |
|
|
|
|
|
| |
clang ' or ' clang -cc1 ' or ' clang-cc ' in test lines (by substituting them to
garbage).
llvm-svn: 91460
|
| |
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
llvm-svn: 91303
|
| |
|
|
| |
llvm-svn: 91269
|
| |
|
|
| |
llvm-svn: 91264
|
| |
|
|
|
|
|
| |
type of the builtin when generating the function declaration for a builtin
library call.
llvm-svn: 90936
|
| |
|
|
| |
llvm-svn: 90883
|
| |
|
|
| |
llvm-svn: 90872
|
| |
|
|
| |
llvm-svn: 90786
|
| |
|
|
|
|
| |
pointed out by Charles Davis.
llvm-svn: 90736
|
| |
|
|
| |
llvm-svn: 90660
|
| |
|
|
| |
llvm-svn: 90659
|
| |
|
|
|
|
| |
to a memset or a memcpy from a global when possible.
llvm-svn: 90658
|
| |
|
|
| |
llvm-svn: 90652
|
| |
|
|
|
|
| |
-fvisibility, and -fconstant-string-class.
llvm-svn: 90072
|
| |
|
|
| |
llvm-svn: 90071
|
| |
|
|
| |
llvm-svn: 89610
|