| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
add test case for C++ codegen
llvm-svn: 157500
|
|
|
|
| |
llvm-svn: 157483
|
|
|
|
|
|
| |
NV_CONTRIB
llvm-svn: 157403
|
|
|
|
|
|
|
|
| |
pointer, but such folding encounters side-effects, ignore the side-effects
rather than performing them at runtime: CodeGen generates wrong code for
__builtin_object_size in that case.
llvm-svn: 157310
|
|
|
|
|
|
| |
Part of rdar://11496790
llvm-svn: 157304
|
|
|
|
| |
llvm-svn: 157262
|
|
|
|
|
|
| |
LLVM r157255)
llvm-svn: 157256
|
|
|
|
|
|
|
|
|
|
| |
however, the range can be unknown for the upper bound.
Testcase to follow.
Part of rdar://11457152
llvm-svn: 157212
|
|
|
|
| |
llvm-svn: 157173
|
|
|
|
|
|
|
|
|
| |
Because in CUDA types do not have associated address spaces,
globals are declared in their "native" address space, and accessed
by bitcasting the pointer to address space 0. This relies on address
space 0 being a unified address space.
llvm-svn: 157167
|
|
|
|
|
|
| |
I'm pretty sure we are in fact doing the right thing here, but someone who knows the standard better should double-check that we are in fact supposed to zero out the member in the given testcase.
llvm-svn: 157138
|
|
|
|
|
|
|
|
| |
types and ensure we are actually creating the type.
rdar://11479676
llvm-svn: 157095
|
|
|
|
| |
llvm-svn: 156953
|
|
|
|
|
|
|
| |
blocks and lambdas, based heavily on a patch from Meador Inge. Fixes
PR12746 / <rdar://problem/11465120>.
llvm-svn: 156925
|
|
|
|
|
|
| |
expression is treated as an lvalue.
llvm-svn: 156781
|
|
|
|
|
|
|
|
| |
Currently cold functions are marked with the "optsize" attribute in CodeGen
so they are always optimized for size. The hot attribute is just ignored,
LLVM doesn't have a way to express hotness at the moment.
llvm-svn: 156723
|
|
|
|
|
|
|
| |
register size of the target architecture.
llvm-svn: 156650
|
|
|
|
|
|
|
| |
A vector should be returned via the hidden pointer argument except if its size
is equal to or smaller than 16-bytes and the target ABI is N32 or N64.
llvm-svn: 156642
|
|
|
|
| |
llvm-svn: 156630
|
|
|
|
| |
llvm-svn: 156491
|
|
|
|
|
|
| |
add a test for -fbounds-checking code generation
llvm-svn: 156474
|
|
|
|
|
|
|
|
| |
When enabled, clang generates bounds checks for array and pointers dereferences. Work to follow in LLVM's backend.
OK'ed by Chad; thanks for the review.
llvm-svn: 156431
|
|
|
|
|
|
| |
Part of rdar://11352000
llvm-svn: 156407
|
|
|
|
| |
llvm-svn: 156406
|
|
|
|
|
|
|
|
| |
already covered by the check with the objectsize builtin
remove the comparison of objectsize with -1. since it's an unsigned comparison, it will always succeed if objectsize returns -1, which is enough to have the check removed
llvm-svn: 156311
|
|
|
|
|
|
| |
previously done for SSE builtins.
llvm-svn: 156296
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BuiltinType::getNameAsCString
to get a const char* if necessary.
This avoids unnecessary conversions when we want to use the result of getName as
a StringRef.
Part of rdar://10796159
llvm-svn: 156227
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It reduces the amount of emitted debug information:
1) DIEs in .debug_info have types DW_TAG_compile_unit, DW_TAG_subprogram,
DW_TAG_inlined_subroutine (for opt builds) and DW_TAG_lexical_block only.
2) .debug_str contains only function names.
3) No debug data for types/namespaces/variables is emitted.
4) The data in .debug_line is enough to produce valid stack traces with
function names and line numbers.
Reviewed by Eric Christopher.
llvm-svn: 156160
|
|
|
|
|
|
|
| |
the alignment might actually exceed the max field alignment; don't
assert in this case.
llvm-svn: 155937
|
|
|
|
| |
llvm-svn: 155931
|
|
|
|
|
|
| |
used). Found by static analyzer.
llvm-svn: 155922
|
|
|
|
|
|
|
| |
working knowledge of the Microsoft ABI. Based on a patch by
Dmitry Sokolov.
llvm-svn: 155905
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and only consider using __cxa_atexit in the Itanium logic. The
default logic is to use atexit().
Emit "guarded" initializers in Microsoft mode unconditionally.
This is definitely not correct, but it's closer to correct than
just not emitting the initializer.
Based on a patch by Timur Iskhodzhanov!
llvm-svn: 155894
|
|
|
|
|
|
|
|
| |
what I'm going to treat as basically universal properties of
array-cookie code. Implement MS array cookies on top of that.
Based on a patch by Timur Iskhodzhanov!
llvm-svn: 155886
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
filter_decl_iterator had a weird mismatch where both op* and op-> returned T*
making it difficult to generalize this filtering behavior into a reusable
library of any kind.
This change errs on the side of value, making op-> return T* and op* return
T&.
(reviewed by Richard Smith)
llvm-svn: 155808
|
|
|
|
| |
llvm-svn: 155697
|
|
|
|
|
|
| |
<rdar://problem/11324125>.
llvm-svn: 155689
|
|
|
|
|
|
|
| |
where getter type is super class of its property
type, resulting in an assert. // rdar://11323676
llvm-svn: 155663
|
|
|
|
|
|
|
|
|
|
|
|
| |
more aligned than the block header but also contains something
smaller than the block-header alignment but not exactly half
the difference between the large alignment and the header
alignment. Got that?
I'm really not sure what I was thinking with the buggy computation
here, but the fix is pretty obvious.
llvm-svn: 155662
|
|
|
|
|
|
| |
a simulator.
llvm-svn: 155436
|
|
|
|
|
|
| |
-relaxed-aliasing
llvm-svn: 155430
|
|
|
|
|
|
|
|
|
| |
find forward declarations in the context that the actual definition
will occur.
rdar://11291658
llvm-svn: 155381
|
|
|
|
|
|
| |
test suite failures.
llvm-svn: 155371
|
|
|
|
| |
llvm-svn: 155363
|
|
|
|
|
|
|
| |
type llvm::ArrayType -- sometimes we emit them as packed structs. Don't assert
if such a global array has an element type with a non-trivial destructor.
llvm-svn: 155305
|
|
|
|
|
|
| |
when using Microsoft C++ ABI
llvm-svn: 155189
|
|
|
|
| |
llvm-svn: 155082
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r155047. See the LLVM log for the primary motivation:
http://llvm.org/viewvc/llvm-project?rev=155047&view=rev
Primary commit r154828:
- Several issues were raised in review, and fixed in subsequent
commits.
- Follow-up commits also reverted, and which should be folded into the
original before reposting:
- r154837: Re-add the 'undef BUILTIN' thing to fix the build.
- r154928: Fix build warnings, re-add (and correct) header and
license
- r154937: Typo fix.
Please resubmit this patch with the relevant LLVM resubmission.
llvm-svn: 155048
|
|
|
|
|
|
| |
rdar://11220251
llvm-svn: 154893
|
|
|
|
|
|
|
| |
EmitFinalDestCopy (and thus pass EmitAggregateCopy the correct alignment).
rdar://11220251
llvm-svn: 154883
|