| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 230538
|
| |
|
|
| |
llvm-svn: 230537
|
| |
|
|
|
|
|
|
| |
This rule works like check-cfi, but fails if the tests are unsupported.
This is useful to run on bots if we want to be sure that the tests aren't
silently being skipped.
llvm-svn: 230536
|
| |
|
|
| |
llvm-svn: 230535
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we allowed these casts only for constants declared in system
headers, which we assume are retain/release-neutral. Now also allow them
for constants in user headers, treating them as +0. Practically, this
means that we will now allow:
id x = (id)kMyGlobalConst;
But unlike with system headers we cannot mix them with +1 values:
id y = (id)(b ? kMyGlobalConst : [Obj newValAtPlusOne]); // error
id z = (id)(b ? kSystemGlobalConst: [Obj newValAtPlusOne]); // OK
Thanks to John for suggesting this improvement.
llvm-svn: 230534
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(The change was landed in r230280 and caused the regression PR22674.
This version contains a fix and a test-case for PR22674).
When emitting the increment operation, SCEVExpander marks the
operation as nuw or nsw based on the flags on the preincrement SCEV.
This is incorrect because, for instance, it is possible that {-6,+,1}
is <nuw> while {-6,+,1}+1 = {-5,+,1} is not.
This change teaches SCEV to mark the increment as nuw/nsw only if it
can explicitly prove that the increment operation won't overflow.
Apart from the attached test case, another (more realistic)
manifestation of the bug can be seen in
Transforms/IndVarSimplify/pr20680.ll.
Differential Revision: http://reviews.llvm.org/D7778
llvm-svn: 230533
|
| |
|
|
| |
llvm-svn: 230532
|
| |
|
|
|
|
|
| |
SWIG doesn't like enum : unsigned. Revert this until I can
fix this in a way that swig likes.
llvm-svn: 230531
|
| |
|
|
|
|
| |
Reviewed at http://reviews.llvm.org/D7868
llvm-svn: 230530
|
| |
|
|
|
|
|
|
| |
functions
Reviewed at http://reviews.llvm.org/D7869
llvm-svn: 230529
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
assignment'
This update contains:
- Fixes of minor issues detected by clang's scan_build
- More schedule tree infrastructure additions
This update slightly changes the output of our dependence analysis, but these
changes are purely syntactially.
llvm-svn: 230528
|
| |
|
|
|
|
|
|
|
| |
While it's true that we don't create the PDB as requested on the command
line, this is a well-documented limitation. Warning about it doesn't
help people using legacy build systems with clang-cl, and it makes the
clang-cl self-host very noisy.
llvm-svn: 230527
|
| |
|
|
|
|
|
|
| |
exported from multiple modules."
This reverts commits r230477 and r230478.
llvm-svn: 230526
|
| |
|
|
|
|
|
|
|
| |
It broke test/PCH/headersearch.cpp because it was using -Wpadding, which
only works for Itanium layout. Before this commit, we would use Itanium
record layout when using PCH, which is crazy. Now that the test uses an
explicit Itanium triple, we can reland.
llvm-svn: 230525
|
| |
|
|
|
|
|
|
|
| |
-Wpadding is not implemented in the Microsoft record layout builder.
This test only passes on Windows because PCH forces us to use the
Itanium record layout builder. I'm about to fix that, so change the
test to not rely on that ridiculous behavior.
llvm-svn: 230524
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The DebuggerThread was detecting the launch error, but it was
ignored by ProcessWindows::DoLaunch, causing LLDB to wait forever
in the debugger loop.
This fixes the test case that explicitly attempts to launch a
process from a non-existant path.
Patch by Adrian McCarthy
Differential Revision: http://reviews.llvm.org/D7874
llvm-svn: 230523
|
| |
|
|
|
|
|
|
|
|
|
| |
Earlier this week I was able to get clang-cl on Windows to be
able to self host. This opened the door to being able to
get a whole new slew of warnings for the Windows build.
This patch fixes all of the warnings, many of which were real
bugs.
llvm-svn: 230522
|
| |
|
|
| |
llvm-svn: 230521
|
| |
|
|
| |
llvm-svn: 230520
|
| |
|
|
| |
llvm-svn: 230519
|
| |
|
|
|
|
|
|
| |
We had somehow accumulated a few target-specific SDAG nodes dealing with PPC64
TOC access that were referenced only in TableGen patterns. The associated
(pseudo-)instructions are used, but are being generated directly. NFC.
llvm-svn: 230518
|
| |
|
|
|
|
| |
As requested in code review.
llvm-svn: 230517
|
| |
|
|
|
|
| |
PR22699
llvm-svn: 230516
|
| |
|
|
|
|
|
|
|
|
| |
With a diabolically crafted test case, we could recurse
through this code and return true instead of false.
The larger engineering crime is the use of magic numbers.
Added FIXME comments for those.
llvm-svn: 230515
|
| |
|
|
| |
llvm-svn: 230514
|
| |
|
|
| |
llvm-svn: 230513
|
| |
|
|
|
|
|
|
|
| |
We would wrongfully reject (a.~A)() in both the destructor and
pseudo-destructor cases.
This fixes PR22668.
llvm-svn: 230512
|
| |
|
|
| |
llvm-svn: 230510
|
| |
|
|
|
|
| |
"_OBJC_CLASS_$_", "_OBJC_METACLASS_$_", and "_OBJC_IVAR_$_" non debug symbols. This allows the symbol that represents the object file to contain the eSymbolTypeObjCClass and eSymbolTypeObjCMetaClass and will help us to be able to efficiently lookup the real definition of an objective C class without loading all .o files linearly to find the .o file that contains the true definition.
llvm-svn: 230509
|
| |
|
|
|
|
| |
when using "image dump symtab".
llvm-svn: 230508
|
| |
|
|
|
|
| |
Go build for Windows
llvm-svn: 230507
|
| |
|
|
|
|
|
|
| |
'__sanitizer_annotate_contiguous_container' is not aligned error message easier to understand
This incorporates the fix for ARM architecture suggested by Renato Golin.
llvm-svn: 230506
|
| |
|
|
|
|
|
|
| |
Sorry, SVN had some weird problems so I had to revert and reapply the patch
locally a couple of times and didn't notice I've added file contents to the same
file....
llvm-svn: 230505
|
| |
|
|
| |
llvm-svn: 230504
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Original CL description:
Produce less broken basic block sequences for __finally blocks.
The way cleanups (such as PerformSEHFinally) get emitted is that codegen
generates some initialization code, then calls the cleanup's Emit() with the
insertion point set to a good place, then the cleanup is supposed to emit its
stuff, and then codegen might tack in a jump or similar to where the insertion
point is after the cleanup.
The PerformSEHFinally cleanup tries to just stash away the block it's supposed
to codegen into, and then does codegen later, into that stashed block. However,
after codegen'ing the __finally block, it used to set the insertion point to
the finally's continuation block (where the __finally cleanup goes when its body
is completed after regular, non-exceptional control flow). That's not correct,
as that block can (and generally does) already ends in a jump. Instead,
remember the insertion point that was current before the __finally got emitted,
and restore that.
Fixes two of the crashes in PR22553.
llvm-svn: 230503
|
| |
|
|
|
|
|
| |
ExecutionContext::GetAddressByteSize() was calling GettAddressByteSize () on Target and Process class but was ignoring the return type. I have added the missing return.
No regression in the test suite. Committed as obvious.
llvm-svn: 230502
|
| |
|
|
| |
llvm-svn: 230501
|
| |
|
|
|
|
| |
mips32r2/mips64r2 and later but should also be available in mips4, mips5, and mips64. This patch fixes the requested features and updates the corresponding test files.
llvm-svn: 230500
|
| |
|
|
|
|
|
|
|
|
| |
Reapply r230248.
Teach the peephole optimizer to work with MMX instructions by adding
entries into the foldable tables. This covers folding opportunities not
handled during isel.
llvm-svn: 230499
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MMX_MOVD64rm zero-extends i32 load results into i64 registers.
The peephole optimizer will try to fold it in other MMX foldable
instructions, the wrong thing to do, since there's no MMX memory
instruction that loads from i32 and does implict zero extension.
Remove 'canFoldAsLoad' from MOVD64rm in order to prevent such folding.
The current MMX tests already test this, but since there are no MMX
instructions in the foldable tables yet, this did not trigger. This
commit prepares the addition of those instructions.
llvm-svn: 230498
|
| |
|
|
| |
llvm-svn: 230497
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thumb-1 only allows SP-based LDR and STR to be word-sized, and SP-base LDR,
STR, and ADD only allow offsets that are a multiple of 4. Make some changes
to better make use of these instructions:
* Use word loads for anyext byte and halfword loads from the stack.
* Enforce 4-byte alignment on objects accessed in this way, to ensure that
the offset is valid.
* Do the same for objects whose frame index is used, in order to avoid having
to use more than one ADD to generate the frame index.
* Correct how many bits of offset we think AddrModeT1_s has.
Patch by John Brawn.
llvm-svn: 230496
|
| |
|
|
|
|
| |
This is going to be needed in clang-tidy as more checks add complex fixits.
llvm-svn: 230495
|
| |
|
|
| |
llvm-svn: 230494
|
| |
|
|
|
|
|
|
|
|
|
| |
Removing the option to require the usage of pthread based on an argument
of the getBuildFlags method in lldbtest.py because it can be specified
by a variable in the makefile for the given test case. Using the
variable in the makefile works in all supported platforms.
Differential revision: http://reviews.llvm.org/D7861
llvm-svn: 230493
|
| |
|
|
|
|
|
|
|
| |
Add O_TRUNC when opening file for redirecting stdout and stderr of the
process. It is neccessary because if the file exists then on some
platform the original content is kept while it isn't overwritten by the
new data causing pollution of the saved stdout and stderr.
llvm-svn: 230492
|
| |
|
|
|
|
|
| |
Patch by Richard Thomson!
http://reviews.llvm.org/D7603
llvm-svn: 230491
|
| |
|
|
|
|
|
| |
Patch by Richard Thomson!
http://reviews.llvm.org/D7604
llvm-svn: 230490
|
| |
|
|
|
|
| |
64-bit shift intended?)" warning in MSVC; NFC.
llvm-svn: 230489
|
| |
|
|
| |
llvm-svn: 230488
|