| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Under certain (evidently rare) circumstances, this code used to convert OR(a,
AND(x, y)) into OR(a, x). This was incorrect.
While there, I've added a comment to the code immediately above.
llvm-svn: 185201
|
| |
|
|
|
|
| |
- should unbreak Windows builds
llvm-svn: 185198
|
| |
|
|
|
|
| |
- missed svn add...
llvm-svn: 185194
|
| |
|
|
|
|
|
|
| |
- Build debug metadata for 'bare' Modules using DIBuilder
- DebugIR can be constructed to generate an IR file (to be seen by a debugger)
or not in cases where the user already has an IR file on disk.
llvm-svn: 185193
|
| |
|
|
|
|
| |
is trying to do.
llvm-svn: 185191
|
| |
|
|
| |
llvm-svn: 185190
|
| |
|
|
| |
llvm-svn: 185189
|
| |
|
|
| |
llvm-svn: 185188
|
| |
|
|
| |
llvm-svn: 185187
|
| |
|
|
|
|
|
|
|
|
|
|
| |
should expand ATOMIC_CMP_SWAP nodes the same way that it does for ATOMIC_SWAP.
Since ATOMIC_LOADs on some targets (e.g. older ARM variants) get legalized to
ATOMIC_CMP_SWAPs, the missing case had been causing i64 atomic loads to crash
during isel.
<rdar://problem/14074644>
llvm-svn: 185186
|
| |
|
|
|
|
|
|
| |
- Use static functions instead of anonymous namespace.
- Appease the Doxygen lobby.
- Use 0-based induction variable.
llvm-svn: 185185
|
| |
|
|
|
|
|
|
|
|
|
| |
Allow a BlockFrequency to be divided by a non-zero BranchProbability
with saturating arithmetic. This will be used to compute the frequency
of a loop header given the probability of leaving the loop.
Our long division algorithm already saturates on overflow, so that was a
freebie.
llvm-svn: 185184
|
| |
|
|
| |
llvm-svn: 185180
|
| |
|
|
|
|
| |
This makes it more consistent with the ZeroOrNegativeOneBooleanContent flag
llvm-svn: 185179
|
| |
|
|
| |
llvm-svn: 185178
|
| |
|
|
|
|
|
|
| |
Fix ABI handling for function
returning bool -- use st.param.b32 to return the value
and use ld.param.b32 in caller to load the return value.
llvm-svn: 185177
|
| |
|
|
| |
llvm-svn: 185176
|
| |
|
|
|
|
|
|
| |
instructions from their patterns
Test case is no breakage
llvm-svn: 185175
|
| |
|
|
|
|
| |
rather poor and we're better off just ignoring it and letting LLVM expand all i8 ops out to i16.
llvm-svn: 185174
|
| |
|
|
| |
llvm-svn: 185173
|
| |
|
|
|
|
| |
vector parameter loads
llvm-svn: 185172
|
| |
|
|
| |
llvm-svn: 185171
|
| |
|
|
|
|
|
|
| |
This patch assigns paired GPRs for inline asm with
64-bit data on ARM. It's enabled for both ARM and Thumb to support modifiers
like %H, %Q, %R.
llvm-svn: 185169
|
| |
|
|
| |
llvm-svn: 185168
|
| |
|
|
|
|
|
|
|
| |
I used the class to safely reset the state of the builder's debug location. I
think I have caught all places where we need to set the debug location to a new
one. Therefore, we can replace the class by a function that just sets the debug
location.
llvm-svn: 185165
|
| |
|
|
|
| |
Reviewed-by: Vincent Lejeune<vljn at ovi.com>
llvm-svn: 185162
|
| |
|
|
|
| |
Reviewed-by: Vincent Lejeune<vljn at ovi.com>
llvm-svn: 185161
|
| |
|
|
|
|
|
|
| |
v2:
- Remove functions left over from a previous rebase.
Reviewed-by: Vincent Lejeune<vljn at ovi.com>
llvm-svn: 185160
|
| |
|
|
|
|
|
|
|
|
|
| |
We were generating intrinsics for NEON fixed-point conversions that didn't
exist (e.g. float -> i16). There are two cases to consider:
+ iN is smaller than float. In this case we can do the conversion but need an
extend or truncate as well.
+ iN is larger than float. In this case using the NEON conversion would be
incorrect so we don't perform any combining.
llvm-svn: 185158
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The mapping between SRS pseudo-instructions and SRS native instructions was incorrect, the correct mapping is:
srsfa -> srsib
srsea -> srsia
srsfd -> srsdb
srsed -> srsda
This fixes <rdar://problem/14214734>.
llvm-svn: 185155
|
| |
|
|
| |
llvm-svn: 185141
|
| |
|
|
|
|
| |
macho_dsym_companion case.
llvm-svn: 185139
|
| |
|
|
| |
llvm-svn: 185136
|
| |
|
|
|
|
|
|
|
|
|
| |
No functionality change.
It should suffice to check the type of a debug info metadata, instead of
calling Verify. For cases where we know the type of a DI metadata, use
assert.
Also update testing cases to make them conform to the format of DI classes.
llvm-svn: 185135
|
| |
|
|
| |
llvm-svn: 185131
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Don't try to create parent directories in unique_file. It had two problem:
* It violates the contract that it is atomic. If the directory creation
success and the file creation fails, we would return an error but the
file system was modified.
* When creating a temporary file clang would have to first check if the
parent directory existed or not to avoid creating one when it was not
supposed to.
* More efficient implementations of createUniqueDirectory and the unique_file
that produces only the file name. Now all 3 just call into a static
function passing what they want (name, file or directory).
Clang also has to be updated, so tests might fail if a bot picks up this commit
and not the corresponding clang one.
llvm-svn: 185126
|
| |
|
|
| |
llvm-svn: 185123
|
| |
|
|
|
|
| |
radar://14169017
llvm-svn: 185122
|
| |
|
|
| |
llvm-svn: 185121
|
| |
|
|
|
|
|
|
|
| |
a zero-argument createNullPtrType function for creating the canonical
nullptr type.
Differential Revision: http://llvm-reviews.chandlerc.com/D1050
llvm-svn: 185114
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
either zero/NaN but allowed you to arbitrarily set the category of the float.""
This reverts commit r185099.
Looks like both the ppc-64 and mips bots are still failing after I reverted this
change.
Since:
1. The mips bot always performs a clean build,
2. The ppc64-bot failed again after a clean build (I asked the ppc-64
maintainers to clean the bot which they did... Thanks Will!),
I think it is safe to assume that this change was not the cause of the failures
that said builders were seeing. Thus I am recomitting.
llvm-svn: 185111
|
| |
|
|
|
|
|
|
|
|
|
|
| |
zero/NaN but allowed you to arbitrarily set the category of the float."
This reverts commit r185095. This is causing a FileCheck failure on
the 3dnow intrinsics on at least the mips/ppc bots but not on the x86
bots.
Reverting while I figure out what is going on.
llvm-svn: 185099
|
| |
|
|
|
|
|
| |
Otherwise, we end up with an exponential IR blowup.
Fixes PR16472.
llvm-svn: 185097
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
but allowed you to arbitrarily set the category of the float.
The category which an APFloat belongs to should be dependent on the
actual value that the APFloat has, not be arbitrarily passed in by the
user. This will prevent inconsistency bugs where the category and the
actual value in APFloat differ.
I also fixed up all of the references to this constructor (which were
only in LLVM).
llvm-svn: 185095
|
| |
|
|
| |
llvm-svn: 185086
|
| |
|
|
|
|
| |
such as <3 x float>, which are popular in graphics.
llvm-svn: 185085
|
| |
|
|
|
|
|
|
|
| |
Use vectorized instruction instead of original instruction anchored in the
original loop.
Fixes PR16452 and t2075.c of PR16455.
llvm-svn: 185081
|
| |
|
|
|
|
|
|
| |
It fixes PR16338 (ICE when compiling very large two-dimensional array).
Differential Revision: http://llvm-reviews.chandlerc.com/D1043
llvm-svn: 185080
|
| |
|
|
| |
llvm-svn: 185073
|
| |
|
|
| |
llvm-svn: 185072
|