| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
- If there is only 1 frame ptr_refs now works (fixed issue with stack detection)
- Fixed test for result now that it isn't a pointer anymore
llvm-svn: 198712
|
| |
|
|
|
|
| |
PR18339
llvm-svn: 198711
|
| |
|
|
|
|
|
|
|
|
| |
...even though the argument is declared "const void *", because this is
just a way to pass pointers around as objects. (Though NSData is often
a better one.)
PR18262
llvm-svn: 198710
|
| |
|
|
|
|
|
|
|
|
|
|
| |
RetainCountChecker has to track returned object values to know if they are
retained or not. Under ARC, even methods that return +1 are tracked by the
system and should be treated as +0. However, this effect behaves exactly
like NotOwned(ObjC), i.e. a generic Objective-C method that actually returns
+0, so we don't need a special case for it.
No functionality change.
llvm-svn: 198709
|
| |
|
|
|
|
| |
This makes it available to tools that don't link with target (like llvm-ar).
llvm-svn: 198708
|
| |
|
|
|
|
|
|
|
|
|
|
| |
take type from the new symbol but merge them so that the type
is never "downgraded".
This is probably quite rare, except for IFUNC symbols which
we used to misassemble, losing the IFUNC type.
Fixes #18372.
llvm-svn: 198706
|
| |
|
|
|
|
| |
extensive refactorings that have happened over the past several months.
llvm-svn: 198705
|
| |
|
|
|
|
|
|
| |
In SVN checkouts, clang_revision_tag is rerun on every build, even if nothing
else is dirty. After this change, Version.inc is only written at cmake time,
so that empty builds run 0 build steps (like r191784 apparently did for git).
llvm-svn: 198704
|
| |
|
|
|
|
|
|
|
|
| |
always produce as pretty of results as it does in LLVM and Clang, but
I don't mind and the value of having a single canonical ordering is very
high IMO.
Let me know if you spot really serious problems here.
llvm-svn: 198703
|
| |
|
|
| |
llvm-svn: 198702
|
| |
|
|
|
|
|
| |
With the gnu objc runtime private strings are used. Since we only need to
produce a unique label, the fix is to just drop the asserts.
llvm-svn: 198701
|
| |
|
|
| |
llvm-svn: 198700
|
| |
|
|
|
|
|
|
|
| |
C and C++ don't emit an extra lexical scope for the compound statement
that is the body of an Objective-C method.
rdar://problem/15010825
llvm-svn: 198699
|
| |
|
|
|
|
| |
address. Restores the assembly of before r198504.
llvm-svn: 198698
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds the pre-UAL aliases of fconsts and fconstd for
vmov.f32 and vmov.f64. They use an InstAlias rather than a
MnemonicAlias to properly support the predicate operand.
We need to support encoded 8-bit constants in order to implement the
pre-UAL fconsts/fconstd aliases for vmov.f32/vmov.f64, so this
commit also fixes parsing of encoded floating point constants used
in vmov.f32/vmov.f64 instructions. Now we can support assembly code
like this:
fconsts s0, #0x70
which is equivalent to vmov.f32 s0, #1.0.
Most of the code was already in place to support this feature.
Previously the code was trying to accept encoded 8-bit float
constants for the vmov.f32/vmov.f64 instructions. It looks like the
support for parsing encoded floats was lost in a refactoring in
commit r148556 and we did not have any tests in place to catch it.
The change in this commit is to keep the parsed value as a 32-bit
float instead of a 64-bit double because that is what the isFPImm()
function expects to find. There is no loss of precision by using a
32-bit float here because we are still limited to an 8-bit encoded
value in the end.
Additionally, we explicitly reject encoded 8-bit floats for
vmovf.32/64. This is the same as the current behavior, but we now do
it explicitly rather than accidently.
llvm-svn: 198697
|
| |
|
|
| |
llvm-svn: 198696
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
$ clang-format --version
LLVM (http://llvm.org/):
LLVM version 3.5svn
Optimized build with assertions.
Built Jan 3 2014 (14:28:46).
Default target: x86_64-apple-darwin13.0.0
Host CPU: core-avx-i
Now:
$ bin/clang-format --version
clang-format version 3.5 (198452)
llvm-svn: 198694
|
| |
|
|
| |
llvm-svn: 198693
|
| |
|
|
| |
llvm-svn: 198692
|
| |
|
|
|
|
| |
directory to their proper homes.
llvm-svn: 198691
|
| |
|
|
|
|
| |
be quite accurate. =]
llvm-svn: 198690
|
| |
|
|
| |
llvm-svn: 198689
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
are part of the core IR library in order to support dumping and other
basic functionality.
Rename the 'Assembly' include directory to 'AsmParser' to match the
library name and the only functionality left their -- printing has been
in the core IR library for quite some time.
Update all of the #includes to match.
All of this started because I wanted to have the layering in good shape
before I started adding support for printing LLVM IR using the new pass
infrastructure, and commandline support for the new pass infrastructure.
llvm-svn: 198688
|
| |
|
|
|
|
|
| |
encodes the canonical rules for LLVM's style. I noticed this had drifted
quite a bit when cleaning up LLVM, so wanted to clean up Clang as well.
llvm-svn: 198686
|
| |
|
|
|
|
|
|
|
|
| |
subsequent changes are easier to review. About to fix some layering
issues, and wanted to separate out the necessary churn.
Also comment and sink the include of "Windows.h" in three .inc files to
match the usage in Memory.inc.
llvm-svn: 198685
|
| |
|
|
|
|
| |
There is no test cases for D tuple as the original test cases are too large. As the spill/fill of the D tuple is similar to the Q tuple, the correctness can be guaranteed.
llvm-svn: 198684
|
| |
|
|
|
|
|
|
| |
flags in target properties.
FIXME: Just add_unittest() is using it.
FIXME: Cooperate with source properties.
llvm-svn: 198683
|
| |
|
|
|
|
| |
tuples such as QPair/QTriple/QQuad. There is no test case for D tuple as the original test cases are too large. As the copy of the D tuple is similar to the Q tuple, the correctness can be guaranteed.
llvm-svn: 198682
|
| |
|
|
|
|
| |
Also, correct the offsets for FixupsKindInfo.
llvm-svn: 198681
|
| |
|
|
|
|
|
|
|
|
| |
are vector types
and add a diagnostic when the operand is a vector and non-scalar value.
rdar://15722301
llvm-svn: 198680
|
| |
|
|
|
|
| |
InlineSpiller::foldMemoryOperand needs to handle undef call operands.
llvm-svn: 198679
|
| |
|
|
|
|
|
|
|
|
|
| |
This doesn't seem to have actually broken anything. It was paranoia
on my part. Trying again now that bots are more stable.
This is a follow up of the r198338 commit that added truncates for
lcssa phi nodes. Sinking the truncates below the phis cleans up the
loop and simplifies subsequent analysis within the indvars pass.
llvm-svn: 198678
|
| |
|
|
|
|
|
| |
I have no idea why Clang's warning doesn't fire here, looks like a Clang
bug. I'll investigate that separately.
llvm-svn: 198677
|
| |
|
|
|
|
|
|
| |
This unbreaks the configure build on darwin, where we build with the
stub SDK in -isysroot. Oddly, the cmake build doesn't have this
restriction, which probably means the cmake configs are out of date.
llvm-svn: 198676
|
| |
|
|
| |
llvm-svn: 198675
|
| |
|
|
| |
llvm-svn: 198672
|
| |
|
|
| |
llvm-svn: 198671
|
| |
|
|
| |
llvm-svn: 198670
|
| |
|
|
|
|
|
|
| |
This backs out changes in commit r198605 and part of r198604, replacing the
original tok::kw_template with a slightly more obvious placeholder
tok::unknown.
llvm-svn: 198666
|
| |
|
|
|
|
|
| |
Switch the context to be SmallVectors. This allows for saving additional
context when providing previous emission sites.
llvm-svn: 198665
|
| |
|
|
|
|
|
|
| |
Move the unwinding context for the ARM IAS into a helper class. This is purely
a structural refactoring. A follow up change allows for recording additional
depth to improve diagnostics.
llvm-svn: 198664
|
| |
|
|
|
|
| |
If using verbose asm, print out the friendly name of the tag if possible.
llvm-svn: 198663
|
| |
|
|
|
|
|
|
| |
Parse tag names as well as expressions. The former is part of the
specification, the latter is for improved compatibility with the GNU assembler.
Fix attribute value handling to be comformant to the specification.
llvm-svn: 198662
|
| |
|
|
|
|
|
|
| |
Introduce a new virtual method Note into the AsmParser. This completements the
existing Warning and Error methods. Use the new method to clean up the output
of the unwind routines in the ARM AsmParser.
llvm-svn: 198661
|
| |
|
|
| |
llvm-svn: 198660
|
| |
|
|
|
|
|
|
| |
This reverts commit r198654.
One of the bots reported a SciMark failure.
llvm-svn: 198659
|
| |
|
|
| |
llvm-svn: 198658
|
| |
|
|
|
|
| |
This reverts commit e7778e08878d0c61903205428eeb131db9d11b3c.
llvm-svn: 198657
|
| |
|
|
|
|
| |
This reverts commit d1b5d3b0e885ef057643fcea99bff8b6cce04b93.
llvm-svn: 198656
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
It controls everything that -flimit-debug-info used to, plus the
vtable type optimization. The old -fno-limit-debug-info option is now an
alias to -fstandalone-debug and vice versa.
Standalone is the default on Darwin until dtrace is updated to work with
non-standalone debug info (rdar://problem/15758808).
Note: I kept the LimitedDebugInfo name in CodeGenOptions::DebugInfoKind
because NoStandaloneDebugInfo sounded even more confusing.
llvm-svn: 198655
|