| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 220617
|
| |
|
|
|
|
|
|
| |
argument is a value.
Also make it const safe and remove superfluous casting. NFC.
llvm-svn: 220616
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The two operands of the new OR expression should be NextInChain and TheOther
instead of the two original operands.
Added a regression test in split-gep.ll.
Hao Liu reported this bug, and provded the test case and an initial patch.
Thanks!
llvm-svn: 220615
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We would crash because we used operator[] to access past the end of a
SmallString. This occured because our token had length zero.
Instead, form the pointer using .data() and arithmetic. This is safe
because this forms a one-past-the-end pointer and it is only used to
compare with another one-past-the-end pointer.
This fixes PR21379.
llvm-svn: 220614
|
| |
|
|
|
|
|
|
| |
Tidied up some entries in the folding tables so that they are under the correct comment section (they were categorised as AVX2 instructions when they're AVX1).
Minor patch agreed with qcolombet.
llvm-svn: 220613
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
These asserts can trigger if the worklist iteration order is
sufficiently unlucky. Instead of adding special case logic to handle
these edge conditions, just bail out on trying to transform them:
InstSimplify will get them when it reaches them on the worklist.
This fixes PR21378.
N.B. No test case is included because any test would rely on the
fragile worklist iteration order.
llvm-svn: 220612
|
| |
|
|
|
|
| |
Should fix the Ocaml tests.
llvm-svn: 220611
|
| |
|
|
| |
llvm-svn: 220610
|
| |
|
|
| |
llvm-svn: 220609
|
| |
|
|
|
|
| |
Instead of passing a std::string&, use the new diagnostic infrastructure.
llvm-svn: 220608
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Fixes PR21100 which is caused by inconsistency between the declared return type
and the expected return type at the call site. The new behavior is consistent
with nvcc and the NVPTXTargetLowering::getPrototype function.
Test Plan: test/Codegen/NVPTX/vector-return.ll
Reviewers: jholewinski
Reviewed By: jholewinski
Subscribers: llvm-commits, meheff, eliben, jholewinski
Differential Revision: http://reviews.llvm.org/D5612
llvm-svn: 220607
|
| |
|
|
| |
llvm-svn: 220604
|
| |
|
|
| |
llvm-svn: 220603
|
| |
|
|
|
|
|
|
| |
straight C names by 220432. Get
that working again.
llvm-svn: 220602
|
| |
|
|
|
|
| |
Allow (under the experimental flag) non-Instructions to participate in MSan checks.
llvm-svn: 220601
|
| |
|
|
| |
llvm-svn: 220600
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
undefined symbol.
In a Mach-O object file a relocatable expression of the form
SymbolA - SymbolB + constant is allowed when both symbols are
defined in a section. But when either symbol is undefined it
is an error.
The code was crashing when it had an undefined symbol in this case.
And should have printed a error message using the location information
in the relocation entry.
rdar://18678402
llvm-svn: 220599
|
| |
|
|
|
|
|
|
|
| |
Objective-C switched to a new ABI which uses a different mangling for class
names. But to keep projects building that use export lists that use the old
class name mangling, the linker recognizes the old names and transforms them
to the new mangling.
llvm-svn: 220598
|
| |
|
|
|
|
|
|
| |
In final linked shared images, the __TEXT segment contains both code and
the mach-o header/load-commands. In the case of a data-only dylib, there is
no code, so we need to force the addition of the __TEXT segment.
llvm-svn: 220597
|
| |
|
|
| |
llvm-svn: 220596
|
| |
|
|
|
|
|
|
|
|
|
| |
The MS linker cannot do anything interesting with these, it doesn't make
sense to emit them.
This fixes PR21373.
Differential Revision: http://reviews.llvm.org/D5986
llvm-svn: 220595
|
| |
|
|
|
|
|
|
|
|
| |
So that it has access to getOrCreateGlobalVariableDIE. If we ever support
decsribing using directive in C++ classes (thus requiring support in type
units), it will certainly use another mechanism anyway.
Differential Revision: http://reviews.llvm.org/D5975
llvm-svn: 220594
|
| |
|
|
|
|
|
| |
The temporary initialized is referenced as %0, not as the auto-release pool.
Fixes R+A tests.
llvm-svn: 220593
|
| |
|
|
|
|
|
|
|
|
| |
Minor patch to fix an issue in XFormVExtractWithShuffleIntoLoad where a load is unary shuffled, then bitcast (to a type with the same number of elements) before extracting an element.
An undef was created for the second shuffle operand using the original (post-bitcasted) vector type instead of the pre-bitcasted type like the rest of the shuffle node - this was then causing an assertion on the different types later on inside SelectionDAG::getVectorShuffle.
Differential Revision: http://reviews.llvm.org/D5917
llvm-svn: 220592
|
| |
|
|
| |
llvm-svn: 220591
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid an assertion when materializing a lifetime type aggregate temporary. When
performing CodeGen for ObjC++, we could generate a lifetime-only aggregate
temporary by using an initializer list (which is effectively an array). We
would reach through the temporary expression, fishing out the inner expression.
If this expression was a lifetime expression, we would attempt to emit this as a
scalar. This would eventually result in an assertion as the emission would
eventually assert that the expression being emitted has a scalar evaluation
kind.
Add a case to handle the aggregate expressions. Use the EmitAggExpr to emit the
aggregate expression rather than the EmitScalarInit.
Addresses PR21347.
llvm-svn: 220590
|
| |
|
|
| |
llvm-svn: 220589
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Template template parameters weren't added to the list of substitutions.
This would make the substitution map contain inaccurate mappings,
leading to Clang violating the Itanium ABI and breaking compatibility
with GCC.
This fixes PR21351.
Differential Revision: http://reviews.llvm.org/D5959
llvm-svn: 220588
|
| |
|
|
|
|
| |
Switch to a range-based for loop. NFC.
llvm-svn: 220587
|
| |
|
|
|
|
|
| |
This test uses C++11 features (r-value references) in ObjC++. Add a -std=c++11
to silence a warning. NFC.
llvm-svn: 220586
|
| |
|
|
|
|
|
|
| |
This fixes a corner-case where __uuidof as a template argument would
result in us trying to emit a GLValue as an RValue. This would lead to
a crash down the road.
llvm-svn: 220585
|
| |
|
|
|
|
|
|
|
|
|
| |
Modified library structure to deal with circular dependency between HexagonInstPrinter and HexagonMCInst.
Adding encoding bits for add opcode.
Adding llvm-mc tests.
Removing unit tests.
http://reviews.llvm.org/D5624
llvm-svn: 220584
|
| |
|
|
|
|
|
| |
Handle pexpect exceptions correctly so that processes spawned with
pexpect are always reaped.
llvm-svn: 220583
|
| |
|
|
|
|
| |
inlined frames done in llvm-symbolizer
llvm-svn: 220582
|
| |
|
|
| |
llvm-svn: 220581
|
| |
|
|
|
|
|
|
|
|
| |
To do this, change the representation of lazy loaded functions.
The previous representation cannot differentiate between a function whose body
has been removed and one whose body hasn't been read from the .bc file. That
means that in order to drop a function, the entire body had to be read.
llvm-svn: 220580
|
| |
|
|
|
|
|
| |
This is a follow-on to r220570 that allows a 256-bit (v8f32)
version of vrsqrtps to be generated.
llvm-svn: 220579
|
| |
|
|
|
|
|
|
| |
(part of refactoring to allow subprogram emission in both the skeleton
and main units to enable -gmlt-like data to be included in the skeleton
for live inlined backtracing purposes)
llvm-svn: 220578
|
| |
|
|
| |
llvm-svn: 220577
|
| |
|
|
|
|
| |
I suspect it will need a custom sysroot to pass reliably elsewhere.
llvm-svn: 220576
|
| |
|
|
|
|
|
| |
It was only being used as a flag to identify the lack of debug info from
within endModule - use the section labels for that instead.
llvm-svn: 220575
|
| |
|
|
| |
llvm-svn: 220574
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Wire it through everywhere we have support for fastcall, essentially.
This allows us to parse the MSVC "14" CTP headers, but we will
miscompile them because LLVM doesn't support __vectorcall yet.
Reviewed By: Aaron Ballman
Differential Revision: http://reviews.llvm.org/D5808
llvm-svn: 220573
|
| |
|
|
| |
llvm-svn: 220572
|
| |
|
|
|
|
|
|
|
| |
Allow user memory in the first TB of address space.
This also enabled non-pie binaries and freebsd.
Fixes issue:
https://code.google.com/p/thread-sanitizer/issues/detail?id=5
llvm-svn: 220571
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a first step for generating SSE rsqrt instructions for
reciprocal square root calcs when fast-math is allowed.
For now, be conservative and only enable this for AMD btver2
where performance improves significantly - for example, 29%
on llvm/projects/test-suite/SingleSource/Benchmarks/BenchmarkGame/n-body.c
(if we convert the data type to single-precision float).
This patch adds a two constant version of the Newton-Raphson
refinement algorithm to DAGCombiner that can be selected by any target
via a parameter returned by getRsqrtEstimate()..
See PR20900 for more details:
http://llvm.org/bugs/show_bug.cgi?id=20900
Differential Revision: http://reviews.llvm.org/D5658
llvm-svn: 220570
|
| |
|
|
|
|
| |
The control flow and ownership is weird enough so unique_ptr doesn't help here :(
llvm-svn: 220569
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
No functional change yet, it's just an object replacement for an enum.
It will allow us to gather ABI information in a single place so that we can
start testing for properties of the ABI's instead of the ABI itself.
For example we will eventually be able to use:
ABI.MinStackAlignmentInBytes()
instead of:
(isABI_N32() || isABI_N64()) ? 16 : 8
which is clearer and more maintainable.
Reviewers: matheusalmeida
Reviewed By: matheusalmeida
Differential Revision: http://reviews.llvm.org/D3341
llvm-svn: 220568
|
| |
|
|
|
|
|
|
|
| |
a dangling ArrayRef.
This works because uuid's are always little endian so it's not swapped.
Fixes use-after-return reported by asan.
llvm-svn: 220567
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This allows us to easily identify them in the backend which in turn allows us
to handle them correctly for big-endian targets (where they must be shifted
into the upper bits of the register).
Depends on D5961
Reviewers: atanasyan
Reviewed By: atanasyan
Subscribers: cfe-commits, theraven
Differential Revision: http://reviews.llvm.org/D5962
llvm-svn: 220566
|