aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/PrettyStackTrace.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2010-12-22 23:17:45 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2010-12-22 23:17:45 +0000
commit1f4dfbbcb0986e88e86e0b203f4e83eb3d8c48cf (patch)
tree562edfed089d33ee12e354d0bc4a602934975bb6 /llvm/lib/Support/PrettyStackTrace.cpp
parent7a49ead680490710f35304b07c5c36e2810801fc (diff)
downloadllvm-1f4dfbbcb0986e88e86e0b203f4e83eb3d8c48cf.zip
llvm-1f4dfbbcb0986e88e86e0b203f4e83eb3d8c48cf.tar.gz
llvm-1f4dfbbcb0986e88e86e0b203f4e83eb3d8c48cf.tar.bz2
DAGCombine add (sext i1), X into sub X, (zext i1) if sext from i1 is illegal. The latter usually compiles into smaller code.
example code: unsigned foo(unsigned x, unsigned y) { if (x != 0) y--; return y; } before: _foo: ## @foo cmpl $1, 4(%esp) ## encoding: [0x83,0x7c,0x24,0x04,0x01] sbbl %eax, %eax ## encoding: [0x19,0xc0] notl %eax ## encoding: [0xf7,0xd0] addl 8(%esp), %eax ## encoding: [0x03,0x44,0x24,0x08] ret ## encoding: [0xc3] after: _foo: ## @foo cmpl $1, 4(%esp) ## encoding: [0x83,0x7c,0x24,0x04,0x01] movl 8(%esp), %eax ## encoding: [0x8b,0x44,0x24,0x08] adcl $-1, %eax ## encoding: [0x83,0xd0,0xff] ret ## encoding: [0xc3] llvm-svn: 122455
Diffstat (limited to 'llvm/lib/Support/PrettyStackTrace.cpp')
0 files changed, 0 insertions, 0 deletions