1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/utils
Michael Liao 086020d2e5 Re-work bit/bits value resolving in tblgen
- This patch is inspired by the failure of the following code snippet
  which is used to convert enumerable values into encoding bits to
  improve the readability of td files.

  class S<int s> {
    bits<2> V = !if(!eq(s, 8),  {0, 0},
                !if(!eq(s, 16), {0, 1},
                !if(!eq(s, 32), {1, 0},
                !if(!eq(s, 64), {1, 1}, {?, ?}))));
  }

  Later, PR8330 is found to report not exactly the same bug relevant
  issue to bit/bits values.

- Instead of resolving bit/bits values separately through
  resolveBitReference(), this patch adds getBit() for all Inits and
  resolves bit value by resolving plus getting the specified bit. This
  unifies the resolving of bit with other values and removes redundant
  logic for resolving bit only. In addition,
  BitsInit::resolveReferences() is optimized to take advantage of this
  origanization by resolving VarBitInit's variable reference first and
  then getting bits from it.

- The type interference in '!if' operator is revised to support possible
  combinations of int and bits/bit in MHS and RHS.

- As there may be illegal assignments from integer value to bit, says
  assign 2 to a bit, but we only check this during instantiation in some
  cases, e.g.

  bit V = !if(!eq(x, 17), 0, 2);

  Verbose diagnostic message is generated when invalid value is
  resolveed to help locating the error.

- PR8330 is fixed as well.

llvm-svn: 163360
2012-09-06 23:32:48 +00:00
..
bugpoint
buildit Use the final .version number for LLVM_MINOR_VERSION in Apple llvmCore builds. 2012-08-10 00:25:30 +00:00
count Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
crosstool
emacs Remove bad comma from .el file. 2012-02-22 19:38:03 +00:00
FileCheck Make SMDiagnostic a little more sane. Instead of passing around note/warning/error as a 2011-10-16 05:43:57 +00:00
FileUpdate Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
fpcmp Merge System into Support. 2010-11-29 18:16:10 +00:00
git
jedit
kate syntax-highlighting: Fix module asm keyword. 2010-10-09 15:44:36 +00:00
KillTheDoctor Remove dead code. Improve llvm_unreachable text. Simplify some control flow. 2012-02-19 11:37:01 +00:00
lint
lit lit: Show actually created count of threads. The incorrect threads count is printed if the number of tests are less than the number of default threads. 2012-08-17 04:15:41 +00:00
llvm-build Fix typos found by http://github.com/lyda/misspell-check 2012-06-02 10:20:22 +00:00
llvm-lit [LIT] Add a clang_tools_extra_site_cfg to match the various other site_cfg. 2012-09-04 22:09:04 +00:00
Misc
not Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
obj2yaml [obj2yaml] Print the Relocations header. 2012-07-31 22:04:08 +00:00
PerfectShuffle In r131488 I misunderstood how VREV works. It splits the vector in half and splits each half. Therefore, the real problem was that we were using a VREV64 for a 4xi16, when we should have been using a VREV32. 2011-05-18 06:42:21 +00:00
release Fix a typo (the the => the) 2012-07-23 08:51:15 +00:00
TableGen Re-work bit/bits value resolving in tblgen 2012-09-06 23:32:48 +00:00
Target/ARM McARM: Write a silly Python script to compute some hard coded info from the 2011-01-11 19:06:26 +00:00
unittest Fix Android build of gtest and lib/Support. 2012-09-04 09:14:45 +00:00
valgrind valgrind: Suppress glibc's optiized strcasecmp harder. 2011-09-03 17:59:31 +00:00
vim Add the half type to the LLVM IR vim syntax highlighting. 2012-05-03 17:24:12 +00:00
yaml2obj Remove redundant '== true' after a comparison. 2012-08-02 23:22:39 +00:00
yaml-bench Add YAML parser to Support. 2012-04-03 23:09:22 +00:00
check-each-file
clang-parse-diagnostics-file Rename show-diagnostics to something less ambiguous. 2011-11-02 00:44:16 +00:00
codegen-diff
countloc.sh
DSAclean.py
DSAextract.py Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
findmisopt Remove llvm-ld and llvm-stub (which is only used by llvm-ld). 2012-04-19 19:27:54 +00:00
findoptdiff
findsym.pl
GenLibDeps.pl Remove the C backend. 2012-03-23 05:50:46 +00:00
GetRepositoryPath [utils] Fix Get{RepositoryPath,SourceVersion} to have a more robust is-git-svn 2012-05-15 18:44:09 +00:00
GetSourceVersion [utils] Fix Get{RepositoryPath,SourceVersion} to have a more robust is-git-svn 2012-05-15 18:44:09 +00:00
getsrcs.sh
lldbDataFormatters.py Add an LLDB data formatter script for llvm::SmallVector, maybe this is helpful to someone else. 2012-01-17 14:52:12 +00:00
llvm-compilers-check Replace the old --with-cxx-* configure options with a single --with-gcc-toolchain 2012-02-03 00:59:30 +00:00
llvm-native-gcc
llvm-native-gxx
llvm.grm [ms-inline asm] Remove the Inline Asm Non-Standard Dialect attribute. This 2012-09-04 22:29:45 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
llvmdo
llvmgrep Use -H on darwin as well. 2012-01-26 22:06:23 +00:00
Makefile Add yaml2obj. A utility to convert YAML to binaries. 2012-08-02 19:16:56 +00:00
makellvm
profile.pl Rename profile_rt.so to libprofile_rt.so under configure+make (it already was 2011-04-29 02:12:06 +00:00
test_debuginfo.pl Fix a "Bad fd number" error on some platforms due to a less portable 2012-07-23 20:54:17 +00:00
UpdateCMakeLists.pl Use regex instead of special casing clang and llvm libraries. 2012-07-31 18:23:44 +00:00