| Commit message (Collapse) | Author | Age | Files | Lines | 
| ... |  | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
This reverts commit r274305, since it breaks self-hosting:
  http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_build/22349/
  http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules/builds/17232
Note that the blamelist on lab.llvm.org:8011 is incorrect.  The previous
build was r274299, but somehow r274305 wasn't included in the blamelist:
  http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules
llvm-svn: 274320
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
Change all the methods in LiveVariables that expect non-null
MachineInstr* to take MachineInstr& and update the call sites.  This
clarifies the API, and designs away a class of iterator to pointer
implicit conversions.
llvm-svn: 274319
 | 
| | 
| 
| 
| 
| 
| 
|  | 
This was not passing the full instruction with metadata
to the alias query.
llvm-svn: 274318
 | 
| | 
| 
| 
|  | 
llvm-svn: 274317
 | 
| | 
| 
| 
| 
| 
|  | 
Remove another unnecessary iterator to pointer conversion.
llvm-svn: 274315
 | 
| | 
| 
| 
|  | 
llvm-svn: 274312
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
Convert a loop to a range-based for, using MachineInstr& instead of
MachineInstr* and removing an implicit conversion from iterator to
pointer.
llvm-svn: 274311
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
Use MachineInstr& over MachineInstr* to avoid implicit iterator to
pointer conversions.  MachineInstr*-as-nullptr was being used as a flag
for whether the for loop terminated normally; I added an explicit `bool`
instead.
llvm-svn: 274310
 | 
| | 
| 
| 
|  | 
llvm-svn: 274309
 | 
| | 
| 
| 
|  | 
llvm-svn: 274308
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
integer.
Fixes issues on some architectures where we use arithmetic ops to build
vectors, which can cause bad things to happen for loads/stores of mixed
types.
Patch by Fiona Glaser
llvm-svn: 274307
 | 
| | 
| 
| 
|  | 
llvm-svn: 274306
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
This pass hoists duplicated computations in the program. The primary goal of
gvn-hoist is to reduce the size of functions before inline heuristics to reduce
the total cost of function inlining.
Pass written by Sebastian Pop, Aditya Kumar, Xiaoyu Hu, and Brian Rzycki.
Important algorithmic contributions by Daniel Berlin under the form of reviews.
Differential Revision: http://reviews.llvm.org/D19338
llvm-svn: 274305
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
TargetSubtargetInfo::overrideSchedPolicy takes two MachineInstr*
arguments (begin and end) that invite implicit conversions from
MachineInstrBundleIterator.  One option would be to change their type to
an iterator, but since they don't seem to have been used since the API
was added in 2010, I'm deleting the dead code.
llvm-svn: 274304
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Use MachineInstr& instead of MachineInstr* in MachineSinker to help
avoid implicit conversions from iterator to pointer.
llvm-svn: 274303
 | 
| | 
| 
| 
|  | 
llvm-svn: 274302
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
Push MachineInstr& through helper APIs for consistency.  This doesn't
remove any more implicit conversions, but it's a nice cleanup after
r274300.
llvm-svn: 274301
 | 
| | 
| 
| 
| 
| 
|  | 
This avoids an implicit conversion from iterator to pointer.
llvm-svn: 274300
 | 
| | 
| 
| 
| 
| 
|  | 
Also add test I forgot to add to r274296.
llvm-svn: 274299
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Avoid a number of implicit conversions from iterator to pointer by using
range-based for and MachineInstr&.
llvm-svn: 274298
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Avoid an implicit iterator to pointer conversion in
LiveVariables::runOnBlock by switching to a range-based for.
llvm-svn: 274297
 | 
| | 
| 
| 
|  | 
llvm-svn: 274296
 | 
| | 
| 
| 
| 
| 
|  | 
Avoid another few implicit conversions from iterator to pointer.
llvm-svn: 274295
 | 
| | 
| 
| 
| 
| 
|  | 
Avoid another implicit conversion from iterator to pointer.
llvm-svn: 274294
 | 
| | 
| 
| 
| 
| 
| 
|  | 
This was contributed by Apple, and I've been working on
minimal cleanups and generalizing it.
llvm-svn: 274293
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Avoid another implicit conversion from MachineInstrBundleIterator to
MachineInstr* by using MachineInstr&.
llvm-svn: 274292
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
Switch to a range-based for in IfConverter::PredicateBlock and take
MachineInstr& in MaySpeculate to avoid an implicit conversion from
MachineBasicBlock::iterator to MachineInstr*.
llvm-svn: 274290
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
This is a mechanical change to make TargetLowering API take MachineInstr&
(instead of MachineInstr*), since the argument is expected to be a valid
MachineInstr.  In one case, changed a parameter from MachineInstr* to
MachineBasicBlock::iterator, since it was used as an insertion point.
As a side effect, this removes a bunch of MachineInstr* to
MachineBasicBlock::iterator implicit conversions, a necessary step
toward fixing PR26753.
llvm-svn: 274287
 | 
| | 
| 
| 
|  | 
llvm-svn: 274284
 | 
| | 
| 
| 
|  | 
llvm-svn: 274282
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
This will be re-used by the LoadStoreVectorizer.
Fix handling of range metadata and testcase by Justin Lebar.
llvm-svn: 274281
 | 
| | 
| 
| 
| 
| 
| 
|  | 
This shows up as a verifier error when I move this
earlier, not sure why it didn't before.
llvm-svn: 274275
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Summary: If AFL_DRIVER_EXTRA_STATS_FILENAME is set and valid, write to it peak_rss_mb and slowest_unit_time_sec. These are both stats that libFuzzer can print but afl cannot.
Reviewers: kcc, aizatsky, metzman
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D21742
llvm-svn: 274273
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
__stack_chk_fail(). This avoids a compiler crash.
Differential Revision: http://reviews.llvm.org/D21818
llvm-svn: 274263
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Except the seed uniform instructions (conditional branch and consecutive ptr
instructions), dependencies to be added into uniform set should only be used
by existing uniform instructions or intructions outside of current loop.
Differential Revision: http://reviews.llvm.org/D21755
llvm-svn: 274262
 | 
| | 
| 
| 
| 
| 
| 
|  | 
MC doesn't really care about CodeGen stuff, so this was just
complicating target initialization.
llvm-svn: 274258
 | 
| | 
| 
| 
|  | 
llvm-svn: 274251
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
Somehow all the functionality to write PDB files got removed,
probably accidentally when uploading the patch perhaps the wrong
one got uploaded.  This re-adds all the code, as well as the
corresponding test.
llvm-svn: 274248
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Summary:
MSVC provide exception handlers with enhanced information to deal with security buffer feature (/GS).
To be more secure, the security cookies (GS and SEH) are validated when unwinding the stack.
The following code:
```
void f() {}
void foo() {
  __try {
    f();
  } __except(1) {
    f();
  }
}
```
Reviewers: majnemer, rnk
Subscribers: thakis, llvm-commits, chrisha
Differential Revision: http://reviews.llvm.org/D21101
llvm-svn: 274239
 | 
| | 
| 
| 
|  | 
llvm-svn: 274238
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Summary:
Found cases where DSE incorrectly add partially-overwritten intervals.
Please see the test case for details.
Reviewers: mcrosier, eeckstein, hfinkel
Subscribers: mcrosier, llvm-commits
Differential Revision: http://reviews.llvm.org/D21859
llvm-svn: 274237
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
https://llvm.org/bugs/show_bug.cgi?id=24766#c2
This removes a hack that was added for the benefit of x86 codegen. 
It prevented shrinking the switch condition even to smaller legal (DataLayout) types.
We have a safety mechanism in CGP after:
http://reviews.llvm.org/rL251857
...so we're free to use the optimal (smallest) IR type now.
Differential Revision: http://reviews.llvm.org/D12965
llvm-svn: 274233
 | 
| | 
| 
| 
|  | 
llvm-svn: 274232
 | 
| | 
| 
| 
| 
| 
|  | 
instruction
llvm-svn: 274229
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
If the incoming types are i1, then we don't have to pattern match any sext ops.
Differential Revision: http://reviews.llvm.org/D21740
llvm-svn: 274228
 | 
| | 
| 
| 
|  | 
llvm-svn: 274226
 | 
| | 
| 
| 
|  | 
llvm-svn: 274225
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
This processor feature had been left out by mistake from the z13
ProcessorModel.
This time with updated test case. Thanks, Hans.
Reviewed by Ulrich Weigand.
llvm-svn: 274216
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
Adding scheduling model for new Broadcom Vulcan core (ARMv8.1A).
Differential Revision: http://reviews.llvm.org/D21728
llvm-svn: 274213
 | 
| | 
| 
| 
| 
| 
|  | 
isSplatMask where the mask came directly from getMask() on a shuffle node.
llvm-svn: 274208
 |