aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/ModuleMap.cpp
diff options
context:
space:
mode:
authorYonghong Song <yhs@fb.com>2018-02-23 23:49:21 +0000
committerYonghong Song <yhs@fb.com>2018-02-23 23:49:21 +0000
commit0252f35362f34b2fd7a56c8f55fce5b49b4bf36e (patch)
treed853524354d61d8b39e80b82cd13a11d38bc5ee4 /clang/lib/Lex/ModuleMap.cpp
parent3a564a8f6e9b60553ad4b7bebeee1ec8065b2a0f (diff)
downloadllvm-0252f35362f34b2fd7a56c8f55fce5b49b4bf36e.zip
llvm-0252f35362f34b2fd7a56c8f55fce5b49b4bf36e.tar.gz
llvm-0252f35362f34b2fd7a56c8f55fce5b49b4bf36e.tar.bz2
bpf: Define instruction patterns for extensions and truncations between i32 to i64
For transformations between i32 and i64, if it is explicit signed extension: - first cast the operand to i64 - then use SLL + SRA to finish the extension. if it is explicit zero extension: - first cast the operand to i64 - then use SLL + SRL to finish the extension. if it is explicit any extension: - just refer to 64-bit register. if it is explicit truncation: - just refer to 32-bit subregister. NOTE: Some of the zero extension sequences might be unnecessary, they will be removed by an peephole pass on MachineInstruction layer. Signed-off-by: Jiong Wang <jiong.wang@netronome.com> Reviewed-by: Yonghong Song <yhs@fb.com> llvm-svn: 325981
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions