diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-08-23 09:47:37 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-08-23 09:47:37 +0000 |
commit | ced008152fca0b7d382786e1fba206474e0f922a (patch) | |
tree | 8c11fed7527550373021c2065557b4482965d0a8 /llvm/lib/Support/CommandLine.cpp | |
parent | b451afb5f2fc3da4d03a4c2c2197c72bb081aace (diff) | |
download | bcm5719-llvm-ced008152fca0b7d382786e1fba206474e0f922a.tar.gz bcm5719-llvm-ced008152fca0b7d382786e1fba206474e0f922a.zip |
Fix non-determinism in DAGISel emitter.
- This manifested as non-determinism in the .inc output in rare cases (when two
distinct patterns ended up being equivalent, which is rather rare). That
meant the pattern matching was non-deterministic, which could eventually mean
the code generator selected different instructions based on the arch.
- It's probably worth making the DAGISel ensure a total ordering (or force the
user to), but the simple fix here is to totally order the Record* maps based
on a unique ID.
- PR4672, PR4711.
Yay:
--
ddunbar@giles:~$ cat ~/llvm.obj.64/lib/Target/*/*.inc | shasum
d1099ff34b21459a5a3e7021c225c080e6017ece -
ddunbar@giles:~$ cat ~/llvm.obj.ppc/lib/Target/*/*.inc | shasum
d1099ff34b21459a5a3e7021c225c080e6017ece -
--
llvm-svn: 79846
Diffstat (limited to 'llvm/lib/Support/CommandLine.cpp')
0 files changed, 0 insertions, 0 deletions