1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 22:42:46 +02:00
llvm-mirror/lib/Transforms
Jingyue Wu 02e7637de1 [JumpThreading] make jump threading respect convergent annotation.
Summary:
JumpThreading shouldn't duplicate a convergent call, because that would move a convergent call into a control-inequivalent location. For example,
  if (cond) {
    ...
  } else {
    ...
  }
  convergent_call();
  if (cond) {
    ...
  } else {
    ...
  }
should not be optimized to
  if (cond) {
    ...
    convergent_call();
    ...
  } else {
    ...
    convergent_call();
    ...
  }

Test Plan: test/Transforms/JumpThreading/basic.ll

Patch by Xuetian Weng. 

Reviewers: resistor, arsenm, jingyue

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D12484

llvm-svn: 246415
2015-08-31 06:10:27 +00:00
..
Hello Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
InstCombine [InstCombine] Fix PR24605. 2015-08-28 19:09:31 +00:00
Instrumentation Make variable argument intrinsics behave correctly in a Win64 CC function. 2015-08-25 23:27:41 +00:00
IPO Remove Merge Functions pointer comparisons 2015-08-28 16:49:09 +00:00
ObjCARC [ARC] Pull the ObjC ARC components that really serve the role of 2015-08-20 08:06:03 +00:00
Scalar [JumpThreading] make jump threading respect convergent annotation. 2015-08-31 06:10:27 +00:00
Utils Optimize memcmp(x,y,n)==0 for small n and suitably aligned x/y. 2015-08-28 18:30:18 +00:00
Vectorize Improve vectorization diagnostic messages and extend vectorize(enable) pragma. 2015-08-27 18:56:49 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile