| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
brace)
llvm-svn: 185768
|
| |
|
|
| |
llvm-svn: 185767
|
| |
|
|
|
|
| |
I wish we could typecheck llvm::format.
llvm-svn: 185766
|
| |
|
|
| |
llvm-svn: 185765
|
| |
|
|
|
|
| |
references to entrypoint declarations as well.
llvm-svn: 185764
|
| |
|
|
| |
llvm-svn: 185763
|
| |
|
|
|
|
| |
// rdar://14182680.
llvm-svn: 185762
|
| |
|
|
|
|
|
|
|
|
|
| |
Obviously the personality function should be emitted as language handler
instead of the hard coded _GCC_specific_handler. The language specific
data must be placed after the unwind information therefore it must not
be emitted into a separate section.
Reviewed by Charles Davis and Nico Rieck.
llvm-svn: 185761
|
| |
|
|
|
|
|
|
|
|
|
| |
For alignment purposes, the instruction array will always have an even
number of entries, with the final entry potentially unused (in which
case the array will be one longer than indicated by the count of unwind
codes field).
Reviewed by Charles Davis and Nico Rieck.
llvm-svn: 185760
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
data structures.
The Win64 EH data structures must be of type IMAGE_REL_AMD64_ADDR32NB
instead of IMAGE_REL_AMD64_ADDR32. This is easiely achieved by adding
the VK_COFF_IMGREL32 modifier to the symbol reference.
Change also references to start and end of the SEH range of a function
as offsets to start of the function.
Reviewed by Charles Davis and Nico Rieck.
llvm-svn: 185759
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The code offset for unwind code SET_FPREG is wrong because it is set
to constant 0. The fix is to do the same as for the other unwind
codes: emit a label and later the absolute difference between the
label and the begin of the prologue.
Also enables the failing test case MC/COFF/seh.s
Reviewed by Charles Davis and Nico Rieck.
llvm-svn: 185758
|
| |
|
|
| |
llvm-svn: 185757
|
| |
|
|
| |
llvm-svn: 185756
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ReduceLoadWidth unconditionally drops extensions from loads. Limit it to the
case when all of the bits the extension would otherwise produce are dropped by
the shrink. It would be possible to shrink the load in more cases by merging
the extensions, but this isn't trivial and a very rare case. I left a TODO for
that case.
Fixes PR16551.
llvm-svn: 185755
|
| |
|
|
|
|
|
|
| |
This prevents the emission of DAG-generated vreg definitions after a
tail call be dropping them entirely (on the grounds that nothing could
use them anyway, and they interfere with O0 CodeGen).
llvm-svn: 185754
|
| |
|
|
| |
llvm-svn: 185753
|
| |
|
|
| |
llvm-svn: 185752
|
| |
|
|
| |
llvm-svn: 185751
|
| |
|
|
| |
llvm-svn: 185748
|
| |
|
|
|
|
| |
an llvm_unreachable after the switch to quiet -Wreturn_type errors.
llvm-svn: 185746
|
| |
|
|
|
|
|
|
|
|
| |
This boils down to us sending invalid function decls to
CheckFunctionDeclaration becauswe we did not consider that CheckMain
could cause the decl to be invalid. Instead, interogate the new decl's
main-validity and *then* send it over to get CheckFunctionDeclaration'd
if it was still valid after calling CheckMain.
llvm-svn: 185745
|
| |
|
|
|
|
|
|
| |
some small cleanups.
This fixes an issue that came up due to -fpermissive on the bots.
llvm-svn: 185744
|
| |
|
|
| |
llvm-svn: 185743
|
| |
|
|
| |
llvm-svn: 185742
|
| |
|
|
| |
llvm-svn: 185741
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first patch in a series of 3 patches which clean up how we create
runtime function declarations in the ARC optimizer when they do not exist
already in the IR.
Currently we have a bunch of duplicated code in ObjCARCOpts, ObjCARCContract
that does this. This patch refactors that code into a separate class called
ARCRuntimeEntryPoints which lazily creates the declarations for said
entrypoints.
The next two patches will consist of the work of refactoring
ObjCARCContract/ObjCARCOpts to use this new code.
llvm-svn: 185740
|
| |
|
|
| |
llvm-svn: 185739
|
| |
|
|
| |
llvm-svn: 185738
|
| |
|
|
| |
llvm-svn: 185737
|
| |
|
|
| |
llvm-svn: 185736
|
| |
|
|
|
|
|
| |
functions. Make the function attributes pass add it to known library functions
and when it can deduce it.
llvm-svn: 185735
|
| |
|
|
|
|
| |
class type. // rdar://14261999
llvm-svn: 185734
|
| |
|
|
|
|
| |
No functional change intended.
llvm-svn: 185733
|
| |
|
|
|
|
|
| |
use can cause crash. No test is available. It is uncovered
by code browsing. // rdar://14348205
llvm-svn: 185732
|
| |
|
|
| |
llvm-svn: 185731
|
| |
|
|
| |
llvm-svn: 185730
|
| |
|
|
| |
llvm-svn: 185729
|
| |
|
|
| |
llvm-svn: 185728
|
| |
|
|
|
|
|
| |
Include a test that clang now produces output files with permissions matching
the umask.
llvm-svn: 185727
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function is complementary to createTemporaryFile. It handles the case were
the unique file is *not* temporary: we will rename it in the end. Since we
will rename it, the file has to be in the same filesystem as the final
destination and we don't prepend the system temporary directory.
This has a small semantic difference from unique_file: the default mode is 0666.
This matches the behavior of most unix tools. For example, with this change
lld now produces files with the same permissions as ld. I will add a test
of this change when I port clang over to createUniqueFile (next commit).
llvm-svn: 185726
|
| |
|
|
| |
llvm-svn: 185725
|
| |
|
|
|
|
| |
use of objc's properties.
llvm-svn: 185724
|
| |
|
|
| |
llvm-svn: 185723
|
| |
|
|
|
|
|
|
| |
declaration was affected by "@optional"
rdar://14348525.
llvm-svn: 185722
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes the TBAA code so it doesn't use mangleCXXRTTIName in C,
because it doesn't really make sense there. Also, as sort of a
defense-in-depth change, fix the mangler so it handles C RecordDecls
correctly.
No tests because I don't know the TBAA code well enough to write a test,
and I don't know how else to trigger mangling a local struct in C.
Fixes a crash with r185450 reported by Joerg Sonnenberger.
llvm-svn: 185721
|
| |
|
|
|
|
|
| |
reenabled reverted patch after checking that it passes without regressions on
the nightly test-suite. Added testcase from Tobi.
llvm-svn: 185720
|
| |
|
|
| |
llvm-svn: 185719
|
| |
|
|
| |
llvm-svn: 185718
|
| |
|
|
| |
llvm-svn: 185717
|
| |
|
|
|
|
|
|
| |
This function is inspired by clang's Driver::GetTemporaryPath. It hides the
pattern used for uniquing and requires simple file names that are always
placed in the system temporary directory.
llvm-svn: 185716
|