| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
- <rdar://problem/6800351> clang not producing correct large struct
return code for Blocks
llvm-svn: 69337
|
|
|
|
| |
llvm-svn: 69328
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- PR3980.
- <rdar://problem/6762287> [irgen] crash when generating tentative
definition of incomplete structure
- This also avoids creating common definitions for things which are
later overwritten.
- XFAIL'ed external-defs.c, it isn't completing types properly yet.
llvm-svn: 69231
|
|
|
|
| |
llvm-svn: 69168
|
|
|
|
| |
llvm-svn: 69070
|
|
|
|
|
|
|
|
| |
C99 mode. This is a regression from an earlier patch of mine.
This also simplifies the linkage enums a bit.
llvm-svn: 69069
|
|
|
|
|
|
|
|
| |
pulling some attribute munging stuff into GetLinkageForFunction.
This should fix PR3986
llvm-svn: 69045
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Pull out SetCommonAttributes, which handles the things common to
aliases, methods, functions, and variables.
- Pull out SetLLVMFunctionAttributesForDefinition, which handles the
LLVM attributes which we only want to apply to a definition (like
noinline and alwaysinline).
- Kill SetGVDeclarationAttributes (inlined into SetFunctionAttributes
and specialized).
- Kill SetFunctionAttributesForDefinition (inlined into sole caller).
- Inline SetGVDefinitionAttributes into SetMethodAttributes and
specialize.
- Rename SetGVDefinitionAttributes to SetFunctionDefinitionAttributes.
This is supposed to be a no functionality change commit, but I may
have made a mistake.
llvm-svn: 69036
|
|
|
|
|
|
| |
- No functionality change.
llvm-svn: 69035
|
|
|
|
|
|
|
| |
disambiguate it.
- No functionality change.
llvm-svn: 69034
|
|
|
|
| |
llvm-svn: 69028
|
|
|
|
| |
llvm-svn: 69027
|
|
|
|
|
|
| |
implies an all-zero bit pattern.
llvm-svn: 68994
|
|
|
|
|
|
| |
when the destination has a reference type. (No functionality change yet)
llvm-svn: 68593
|
|
|
|
| |
llvm-svn: 68300
|
|
|
|
|
|
| |
Patch by Jean-Daniel Dupas. Thanks!
llvm-svn: 68203
|
|
|
|
| |
llvm-svn: 68176
|
|
|
|
| |
llvm-svn: 68170
|
|
|
|
|
|
|
|
| |
that occurs when
attribute(used) and asm renaming are used together.
llvm-svn: 68155
|
|
|
|
|
|
| |
The llvm optimizer and code generator are not yet ready to support optimized code debugging.
llvm-svn: 67876
|
|
|
|
|
|
|
| |
CodeGenModule. Once there, add a new NoCommon option to
it and implement -fno-common.
llvm-svn: 67735
|
|
|
|
|
|
|
|
| |
functionality, fixing a crash on the attached testcase. Eliminate the
BuiltinFunctions cache, as it can contain dangling pointers. This fixes
a bunch of valgrind errors on test/CodeGen/builtins.c
llvm-svn: 67484
|
|
|
|
|
|
| |
the end of the module.
llvm-svn: 67482
|
|
|
|
|
|
|
|
| |
variables.
No intended functionality change.
llvm-svn: 67478
|
|
|
|
|
|
|
| |
very simple places, reimplement the deferred decl emission logic to not be O(N^2),
fixing PR3810.
llvm-svn: 67447
|
|
|
|
|
|
| |
function definition.
llvm-svn: 67446
|
|
|
|
|
|
| |
code path.
llvm-svn: 67445
|
|
|
|
|
|
| |
GetAddrOfFunction. This is simpler and more efficient.
llvm-svn: 67444
|
|
|
|
|
|
|
| |
CreateFunctionPrototypeIR, though my next patch will eliminate
it entirely.
llvm-svn: 67443
|
|
|
|
| |
llvm-svn: 67439
|
|
|
|
|
|
| |
more optimistic that it will work (optimizing for the common case).
llvm-svn: 67438
|
|
|
|
|
|
| |
- PR3818.
llvm-svn: 67297
|
|
|
|
|
|
|
| |
module symbol table. The root problem inspiring this was fixed in
r66316 (and again in r66506).
llvm-svn: 66512
|
|
|
|
|
|
| |
reuse the prior one.
llvm-svn: 66408
|
|
|
|
| |
llvm-svn: 66335
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CodeGenModule::CreateRuntimeVariable.
- No real functionality change; although we now assert on silly
things like:
--
int objc_exception_throw;
void f0() { @throw(@"A"); }
--
instead of accepting it.
llvm-svn: 66292
|
|
|
|
| |
llvm-svn: 66046
|
|
|
|
|
|
|
|
|
| |
BlockModule. No functionality change. This should help people that
don't want to know anything about blocks not be confused by the
overloaded use of the term block or nor want to see all the blocks
goop.
llvm-svn: 66042
|
|
|
|
|
|
| |
people. De-duplicates BLOCK_NEEDS_FREE and friends.
llvm-svn: 66034
|
|
|
|
|
|
|
| |
still give an unsupported error for them due to the fact this is a
work in progress.
llvm-svn: 66007
|
|
|
|
|
|
|
|
|
| |
we ensure that things added to the module can be found even when they
are not in GlobalDeclMap. The later is for increased flexibility,
should someone want to do something tricky like extern "Ada" in the
same module.
llvm-svn: 65657
|
|
|
|
|
|
|
| |
The big difference here is that (like string literal) @encode has
array type, not pointer type.
llvm-svn: 65391
|
|
|
|
| |
llvm-svn: 65372
|
|
|
|
|
|
| |
- <rdar://problem/6584606> clang/x86-64 - too many reg saves
llvm-svn: 65032
|
|
|
|
|
|
| |
The size calculation is improved.
llvm-svn: 64994
|
|
|
|
| |
llvm-svn: 64984
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IRgen no longer relies on isConstantInitializer, instead we just try
to emit the constant. If that fails then in C we emit an error
unsupported (this occurs when Sema accepted something that it doesn't
know how to fold, and IRgen doesn't know how to emit) and in C++ we
emit a guarded initializer.
This ends up handling a few more cases, because IRgen was actually
able to emit some of the constants Sema accepts but can't Evaluate().
For example, PR3398.
llvm-svn: 64780
|
|
|
|
|
|
| |
Thanks Anders.
llvm-svn: 64571
|
|
|
|
|
|
| |
starting to work for blocks.
llvm-svn: 64570
|
|
|
|
|
|
| |
- PR3566
llvm-svn: 64492
|