| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 185715
|
| |
|
|
| |
llvm-svn: 185714
|
| |
|
|
|
|
|
|
| |
As it turns out, the NoFunction bit for local class mangling needed to be
propagated into more places. r185450 turned what used to be an incorrect
mangling into an assertion.
llvm-svn: 185713
|
| |
|
|
|
|
|
|
|
|
|
| |
A "pkhtb x, x, y asr #num" uses the lower 16 bits of "y asr #num" and packs them
in the bottom half of "x". An arithmetic and logic shift are only equivalent in
this context if the shift amount is 16. We would be shifting in ones into the
bottom 16bits instead of zeros if "y" is negative.
radar://14338767
llvm-svn: 185712
|
| |
|
|
|
|
| |
[unordered_][multi]map. This fixes http://llvm.org/bugs/show_bug.cgi?id=16549
llvm-svn: 185711
|
| |
|
|
|
|
| |
abstract class type. // rdar://14261999
llvm-svn: 185710
|
| |
|
|
| |
llvm-svn: 185709
|
| |
|
|
| |
llvm-svn: 185708
|
| |
|
|
|
|
|
|
|
|
|
| |
We should not be asking unique_file to prepend the system temporary directory
when creating the html report. Unfortunately I don't think we can test this
with the current infrastructure since unique_file ignores MakeAbsolute if the
directory is already absolute and the paths provided by lit are.
I will take a quick look at making this api a bit less error prone.
llvm-svn: 185707
|
| |
|
|
| |
llvm-svn: 185706
|
| |
|
|
|
|
|
|
|
|
|
| |
The stack coloring pass has code to delete stores and loads that become
trivially dead after coloring. Extend it to cope with single instructions
that copy from one frame index to another.
The testcase happens to show an example of this kicking in at the moment.
It did occur in Real Code too though.
llvm-svn: 185705
|