| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 251278
|
| |
|
|
|
|
|
|
|
|
| |
Otherwise value can be reused , despite its value could be changed - produces incorrect assembler.
https://llvm.org/bugs/show_bug.cgi?id=25270
Differential Revision: http://reviews.llvm.org/D14057
llvm-svn: 251275
|
| |
|
|
| |
llvm-svn: 251274
|
| |
|
|
|
|
|
|
|
|
|
|
| |
the module pointer type passed in by the user.
The previous ownership scheme, where the user pointer was always moved into a
std::shared_ptr, breaks if the user passes in a raw pointer.
Discovered while working on the Orc C API, which should be landing shortly.
I expect to include a test-case with that.
llvm-svn: 251273
|
| |
|
|
| |
llvm-svn: 251272
|
| |
|
|
|
|
|
|
|
|
| |
GNU as and Darwin give the various binary operators different
precedence. LLVM's MC supported the Darwin semantics but not the GNU
semantics.
This fixes PR25311.
llvm-svn: 251271
|
| |
|
|
|
|
|
|
|
|
| |
We didn't validate that the .word directive was given a sane value,
leading to crashes when we attempt to write out the object file.
Instead, perform some validation and issue a diagnostic pointing at the
start of the diagnostic.
llvm-svn: 251270
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of playing around with dominance to verify if the possible expansion of
a scop region is indeed a single entry single exit region, we now distinguish
two cases. In case we only append a basic block, all edges entering this basic
block need to have come from within the region that is expanded. In case we join
two regions, the source basic blocks of the edges that end at the entry node of
the region that is appended most be part of either the original region or the
region that is appended.
This change will be tested through Polly.
This fixes llvm.org/PR25242
llvm-svn: 251267
|
| |
|
|
| |
llvm-svn: 251266
|
| |
|
|
| |
llvm-svn: 251263
|
| |
|
|
|
|
|
| |
Windows has two different mangling specifiers. `x` is used on x86 for the `_`
UserLabelPrefix. Others use `w` for the no UserLabelPrefix.
llvm-svn: 251260
|
| |
|
|
| |
llvm-svn: 251256
|
| |
|
|
| |
llvm-svn: 251255
|
| |
|
|
|
|
| |
The build broke in r251248.
llvm-svn: 251251
|
| |
|
|
| |
llvm-svn: 251249
|
| |
|
|
| |
llvm-svn: 251248
|
| |
|
|
|
|
| |
Incorrect range test - found during fuzz testing.
llvm-svn: 251245
|
| |
|
|
| |
llvm-svn: 251238
|
| |
|
|
|
|
|
|
|
|
| |
When the target does not support these intrinsics they should be converted to a chain of scalar load or store operations.
If the mask is not constant, the scalarizer will build a chain of conditional basic blocks.
I added isLegalMaskedGather() isLegalMaskedScatter() APIs.
Differential Revision: http://reviews.llvm.org/D13722
llvm-svn: 251237
|
| |
|
|
| |
llvm-svn: 251236
|
| |
|
|
| |
llvm-svn: 251233
|
| |
|
|
|
|
| |
regenerate/cleanup
llvm-svn: 251232
|
| |
|
|
| |
llvm-svn: 251230
|
| |
|
|
| |
llvm-svn: 251229
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When using the MCU psABI, compiler-generated library calls should pass
some parameters in-register. However, since inreg marking for x86 is currently
done by the front end, it will not be applied to backend-generated calls.
This is a workaround for PR3997, which describes a similar issue for -mregparm.
Differential Revision: http://reviews.llvm.org/D13977
llvm-svn: 251223
|
| |
|
|
|
|
|
|
| |
This adds support for the i?86-*-elfiamcu triple, which indicates the IAMCU psABI is used.
Differential Revision: http://reviews.llvm.org/D13977
llvm-svn: 251222
|
| |
|
|
| |
llvm-svn: 251219
|
| |
|
|
| |
llvm-svn: 251217
|
| |
|
|
|
|
| |
Patch by Richard.
llvm-svn: 251216
|
| |
|
|
|
|
| |
Patch by Richard.
llvm-svn: 251215
|
| |
|
|
|
|
| |
Patch by Richard.
llvm-svn: 251213
|
| |
|
|
|
|
| |
Most 128-bit and 256-bit shuffles were manually matching UNPCK patterns - use lowerVectorShuffleWithUNPCK to be more thorough.
llvm-svn: 251211
|
| |
|
|
|
|
| |
Discussed with: Benjamin Kramer.
llvm-svn: 251210
|
| |
|
|
|
|
|
|
|
|
|
| |
I think it's fine to keep this fields around in terms of overhead,
I wasn't able to measure any substantial regression while running the
test suite, but, in case this causes some regression I'm ready to revert
and work on an alternative solution.
This was tested building with clang/gcc both in Debug and Release mode
and passes the test-suite.
llvm-svn: 251209
|
| |
|
|
|
|
| |
Use isShuffleEquivalent to match UNPCK shuffles - better support for build vector inputs.
llvm-svn: 251207
|
| |
|
|
|
|
|
|
|
|
|
|
| |
lib/Transforms/Vectorize (NFC).
Summary: Use clang-tidy to simplify boolean conditional return statements
Differential Revision: http://reviews.llvm.org/D10003
Patch by Richard<legalize@xmission.com>
llvm-svn: 251206
|
| |
|
|
| |
llvm-svn: 251205
|
| |
|
|
|
|
| |
Move ConstantFP canonicalization of commutative instructions to start of 2-op node creation (matches integer) - simplifies constant folding code.
llvm-svn: 251203
|
| |
|
|
| |
llvm-svn: 251202
|
| |
|
|
|
|
|
|
|
| |
This list is produced by llvm-config --system-libs to be used
by external programs using the llvm libraries, such as creduce.
In r250501 llvm/Support/Windows/Path.inc started to use the constant
FOLDERID_Profile from libuuid.
llvm-svn: 251201
|
| |
|
|
| |
llvm-svn: 251200
|
| |
|
|
|
|
|
|
| |
We don't need a mask of a rotation result to be a constant splat - any constant scalar/vector can be usefully folded.
Followup to D13851.
llvm-svn: 251197
|
| |
|
|
|
|
| |
array rather than pointer and size. NFC
llvm-svn: 251196
|
| |
|
|
|
|
|
|
|
| |
This enables tail calls with thiscall, stdcall, vectorcall and
fastcall functions.
Differential Revision: http://reviews.llvm.org/D13999
llvm-svn: 251190
|
| |
|
|
| |
llvm-svn: 251189
|
| |
|
|
|
|
|
|
|
|
| |
This patch adds support for lowering to the XOP VPROT / VPROTI vector bit rotation instructions.
This has required changes to the DAGCombiner rotation pattern matching to support vector types - so far I've only changed it to support splat vectors, but generalising this further is feasible in the future.
Differential Revision: http://reviews.llvm.org/D13851
llvm-svn: 251188
|
| |
|
|
| |
llvm-svn: 251187
|
| |
|
|
| |
llvm-svn: 251186
|
| |
|
|
|
|
| |
(-1) - x + 1 is the same as -x.
llvm-svn: 251185
|
| |
|
|
|
|
| |
build.
llvm-svn: 251181
|