summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/tools/lldb-server
diff options
context:
space:
mode:
authorMarina Yatsina <marina.yatsina@intel.com>2016-08-11 07:32:08 +0000
committerMarina Yatsina <marina.yatsina@intel.com>2016-08-11 07:32:08 +0000
commit88f0c31f13d6ad02dc6a5e2d1f37dd57b7e6b260 (patch)
treef404da59828a8ce3a2a3570b405f1b3c48270241 /lldb/packages/Python/lldbsuite/test/tools/lldb-server
parentb83e73bceb64590f0879a2ed03aa3803bea7daf8 (diff)
downloadbcm5719-llvm-88f0c31f13d6ad02dc6a5e2d1f37dd57b7e6b260.tar.gz
bcm5719-llvm-88f0c31f13d6ad02dc6a5e2d1f37dd57b7e6b260.zip
Avoid false dependencies of undef machine operands
This patch helps avoid false dependencies on undef registers by updating the machine instructions' undef operand to use a register that the instruction is truly dependent on, or use a register with clearance higher than Pref. Pseudo example: loop: xmm0 = ... xmm1 = vcvtsi2sdl eax, xmm0<undef> ... = inst xmm0 jmp loop In this example, selecting xmm0 as the undef register creates false dependency between loop iterations. This false dependency cannot be solved by inserting an xor before vcvtsi2sdl because xmm0 is alive at the point of the vcvtsi2sdl instruction. Selecting a different register instead of xmm0, especially a register that is not used in the loop, will eliminate this problem. Differential Revision: https://reviews.llvm.org/D22466 llvm-svn: 278321
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/tools/lldb-server')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud