| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current approach to lower a vsetult is to flip the sign bit of the
operands, swap the operands and then use a (signed) pcmpgt. psubus (unsigned
saturating subtract) can be used to emulate a vsetult more efficiently:
+ case ISD::SETULT: {
+ // If the comparison is against a constant we can turn this into a
+ // setule. With psubus, setule does not require a swap. This is
+ // beneficial because the constant in the register is no longer
+ // destructed as the destination so it can be hoisted out of a loop.
I also enable lowering via psubus in a few other cases where it's clearly
beneficial: setule and setuge if minu/maxu cannot be used.
rdar://problem/14338765
Patch by Adam Nemet <anemet@apple.com>.
llvm-svn: 202301
|
| |
|
|
|
|
|
| |
Upgrades the warning to an error and clarifies the message by treating the
definition as error instead of the attribute.
llvm-svn: 202300
|
| |
|
|
| |
llvm-svn: 202299
|
| |
|
|
| |
llvm-svn: 202298
|
| |
|
|
|
|
| |
can't build anything here.
llvm-svn: 202297
|
| |
|
|
| |
llvm-svn: 202296
|
| |
|
|
| |
llvm-svn: 202295
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The aggressive anti-dependency breaker scans instructions, bottom-up, within the
scheduling region in order to find opportunities where register renaming can
be used to break anti-dependencies.
Unfortunately, the aggressive anti-dep breaker was treating a register definition
as defining all of that register's aliases (including super registers). This behavior
is incorrect when the super register is live and there are other definitions of
subregisters of the super register.
For example, given the following sequence:
%CR2EQ<def> = CROR %CR3UN, %CR3UN<kill>
%CR2GT<def> = IMPLICIT_DEF
%X4<def> = MFOCRF8 %CR2
the analysis of the first subregister definition would work as expected:
Anti: %CR2GT<def> = IMPLICIT_DEF
Def Groups: CR2GT=g194->g0(via CR2)
Antidep reg: CR2GT (zero group)
Use Groups:
but the analysis of the second one would not:
Anti: %CR2EQ<def> = CROR %CR3UN, %CR3UN<kill>
Def Groups: CR2EQ=g195
Antidep reg: CR2EQ
Rename Candidates for Group g195: ...
because, when processing the %CR2GT<def>, we'd mark all super registers of
%CR2GT (%CR2 in this case) as defined. As a result, when processing
%CR2EQ<def>, %CR2 no longer appears to be live, and %CR2EQ<def>'s group is not
%unioned with the %CR2 group.
I don't have an in-tree test case for this yet (and even if I did, I don't have
a small one).
llvm-svn: 202294
|
| |
|
|
|
|
|
|
|
|
| |
We should apply fastcc whenever profitable. We can expand this list,
but there are lots of conventions with performance implications that we
don't want to change.
Differential Revision: http://llvm-reviews.chandlerc.com/D2705
llvm-svn: 202293
|
| |
|
|
|
|
|
|
|
| |
COFF object files with 0 as string table size are currently rejected. This
prevents us from reading object files written by tools like cvtres that
violate the PECOFF spec and write 0 instead of 4 for the size of an empty
string table.
llvm-svn: 202292
|
| |
|
|
| |
llvm-svn: 202291
|
| |
|
|
| |
llvm-svn: 202290
|
| |
|
|
|
|
| |
external relocations.
llvm-svn: 202289
|
| |
|
|
| |
llvm-svn: 202288
|
| |
|
|
| |
llvm-svn: 202287
|
| |
|
|
|
|
| |
-Wabsolute-value
llvm-svn: 202286
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
64-bit hosts.
This fix changes thee x86 32-bit floating point register area to be
the proper size independent of the host platform.
Note as of this change list, this register context is not yet used
since selecting it exposes issues with watchpoint assertions.
Change by Matthew Gardiner.
llvm-svn: 202285
|
| |
|
|
| |
llvm-svn: 202284
|
| |
|
|
|
|
| |
Thanks to Roman Divacky for the suggestion.
llvm-svn: 202283
|
| |
|
|
|
|
|
|
|
| |
These libraries became necessary recently to link properly.
I think they are needed everywhere non-Windows, but if they
end up breaking on a given platform, we can conditionalize this
further.
llvm-svn: 202282
|
| |
|
|
| |
llvm-svn: 202281
|
| |
|
|
| |
llvm-svn: 202280
|
| |
|
|
| |
llvm-svn: 202278
|
| |
|
|
| |
llvm-svn: 202277
|
| |
|
|
|
|
|
|
| |
This fixes spurious warnings in llvm-link about the datalayout not matching.
Thanks to Zalman Stern for reporting the bug!
llvm-svn: 202276
|
| |
|
|
|
|
|
|
|
| |
We don't have any test with more than 6 address spaces, so a DenseMap is
probably not the correct answer.
An unsorted array would also be OK, but we have to sort it for printing anyway.
llvm-svn: 202275
|
| |
|
|
| |
llvm-svn: 202274
|
| |
|
|
|
|
|
|
| |
truncated use.
Patch by Michael Zolotukhin!
llvm-svn: 202273
|
| |
|
|
|
|
| |
http://buildd-clang.debian.net/scan-build/
llvm-svn: 202271
|
| |
|
|
|
|
|
|
| |
in lldb.svn/Makefile
* Use CPP.Flags to export the declaration. The current solution broke all builds
on http://llvm-jenkins.debian.net/
llvm-svn: 202270
|
| |
|
|
| |
llvm-svn: 202269
|
| |
|
|
| |
llvm-svn: 202268
|
| |
|
|
|
|
|
|
| |
platform-specific RUN commands.
Get rid of a TestCases/SharedLibs/shared-lib-test-so.cc dependency in these tests.
llvm-svn: 202267
|
| |
|
|
| |
llvm-svn: 202266
|
| |
|
|
| |
llvm-svn: 202265
|
| |
|
|
| |
llvm-svn: 202264
|
| |
|
|
|
|
| |
LLVMSupport.
llvm-svn: 202263
|
| |
|
|
|
|
|
|
| |
This includes instructions with aggregate operands (insert/extract), instructions with vector operands (insert/extract/shuffle), binary arithmetic and bitwise instructions, conversion instructions and terminators.
Work was done by lama.saba@intel.com.
llvm-svn: 202262
|
| |
|
|
|
|
|
| |
BUILD_SHARED_LIBS mode.
FIXME: It may be PRIVATE since SO knows its dependent libs.
llvm-svn: 202261
|
| |
|
|
|
|
| |
LLVm-Config) to llvm_add_library to centralize target_link_libraries.
llvm-svn: 202260
|
| |
|
|
|
|
|
| |
The table is always 128-bit so there's no reason to specify it every time we
want the intrinsic.
llvm-svn: 202259
|
| |
|
|
|
|
|
|
|
| |
The table argument is always 128-bit (and interpreted as <16 x i8>) so the
extra specifier for it is just clutter.
No user-visible behaviour change, so no tests.
llvm-svn: 202258
|
| |
|
|
|
|
| |
wouldn't affect CPSR in an IT block
llvm-svn: 202257
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Fixes an issue where a test attempts to use -mcpu=cortex-a15 on non-ARM targets.
This triggers an assertion on MIPS since it doesn't know what ABI to use by default for
unrecognized processors.
Reviewers: rengolin
Reviewed By: rengolin
CC: llvm-commits, aemerson, rengolin
Differential Revision: http://llvm-reviews.chandlerc.com/D2876
llvm-svn: 202256
|
| |
|
|
|
|
| |
Put back a comment that I removed too aggressively.
llvm-svn: 202255
|
| |
|
|
| |
llvm-svn: 202254
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This should fix the MCJIT unit tests that were broken by r201792 on the MIPS buildbot.
MIPS currently uses the default implementation of sys::getHostCPUName() which
always returns "generic". For now, we will accept "generic" and coerce it to
"mips32" or "mips64" depending on the target architecture like we do for empty
CPU names.
Reviewers: jacksprat, matheusalmeida
Reviewed By: jacksprat
Differential Revision: http://llvm-reviews.chandlerc.com/D2878
llvm-svn: 202253
|
| |
|
|
|
|
|
|
|
|
|
| |
address spaces.
This isn't really a correctness issue (the values are truncated) but its
much cleaner.
Patch by Matt Arsenault!
llvm-svn: 202252
|
| |
|
|
|
|
| |
integers. Complements the interfaces it is wrapping.
llvm-svn: 202251
|
| |
|
|
|
|
|
| |
__android_log_write has an implicit message length limit.
Print one line at a time.
llvm-svn: 202250
|