<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/CodeGen/PowerPC, branch release_28</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/CodeGen/PowerPC?h=release_28</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/CodeGen/PowerPC?h=release_28'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2010-08-02T00:18:19Z</updated>
<entry>
<title>PR7781: Fix incorrect shifting in PPCTargetLowering::LowerBUILD_VECTOR.</title>
<updated>2010-08-02T00:18:19Z</updated>
<author>
<name>Eli Friedman</name>
<email>eli.friedman@gmail.com</email>
</author>
<published>2010-08-02T00:18:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=e3837014d6793cafdeba99c21dd5682f16131fd5'/>
<id>urn:sha1:e3837014d6793cafdeba99c21dd5682f16131fd5</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109998 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Consider this function:</title>
<updated>2010-07-16T22:51:10Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2010-07-16T22:51:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=dc86704114a065da0ff1d835edcd62aae51481dd'/>
<id>urn:sha1:dc86704114a065da0ff1d835edcd62aae51481dd</id>
<content type='text'>
  void foo() { __builtin_unreachable(); }

It will output the following on Darwin X86:

_func1:
Leh_func_begin0:
        pushq %rbp
Ltmp0:
        movq %rsp, %rbp
Ltmp1:
Leh_func_end0:

This prolog adds a new Call Frame Information (CFI) row to the FDE with an
address that is not within the address range of the code it describes -- part is
equal to the end of the function -- and therefore results in an invalid EH
frame. If we emit a nop in this situation, then the CFI row is now within the
address range.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108568 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert. This isn't the correct way to go.</title>
<updated>2010-07-15T23:42:21Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2010-07-15T23:42:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a60f0e7f817f170df55371491e246b95b0d8d6b0'/>
<id>urn:sha1:a60f0e7f817f170df55371491e246b95b0d8d6b0</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108478 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Handle code gen for the unreachable instruction if it's the only instruction in</title>
<updated>2010-07-15T23:32:40Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2010-07-15T23:32:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=e9bf7e692e56656ef13b33af86624d0fdcd578fb'/>
<id>urn:sha1:e9bf7e692e56656ef13b33af86624d0fdcd578fb</id>
<content type='text'>
the function. We'll just turn it into a "trap" instruction instead.

The problem with not handling this is that it might generate a prologue without
the equivalent epilogue to go with it:

$ cat t.ll
define void @foo() {
entry:
  unreachable
}
$ llc -o - t.ll -relocation-model=pic -disable-fp-elim -unwind-tables
        .section        __TEXT,__text,regular,pure_instructions
        .globl  _foo
        .align  4, 0x90
_foo:                                   ## @foo
Leh_func_begin0:
## BB#0:                                ## %entry
        pushq   %rbp
Ltmp0:
        movq    %rsp, %rbp
Ltmp1:
Leh_func_end0:
...

The unwind tables then have bad data in them causing all sorts of problems.

Fixes &lt;rdar://problem/8096481&gt;.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108473 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix up -fstack-protector on linux to use the segment</title>
<updated>2010-07-06T05:18:56Z</updated>
<author>
<name>Eric Christopher</name>
<email>echristo@apple.com</email>
</author>
<published>2010-07-06T05:18:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f7a0c7bf8bc8318ed28d889c9a56437ab3e91385'/>
<id>urn:sha1:f7a0c7bf8bc8318ed28d889c9a56437ab3e91385</id>
<content type='text'>
registers.  Split out testcases per architecture and os
now.

Patch from Nelson Elhage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107640 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Implement the "linker_private_weak" linkage type. This will be used for</title>
<updated>2010-07-01T21:55:59Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2010-07-01T21:55:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=5e721d768254a920b78b9129d79a84c0163cb3f4'/>
<id>urn:sha1:5e721d768254a920b78b9129d79a84c0163cb3f4</id>
<content type='text'>
Objective-C metadata types which should be marked as "weak", but which the
linker will remove upon final linkage. However, this linkage isn't specific to
Objective-C.

For example, the "objc_msgSend_fixup_alloc" symbol is defined like this:

      .globl l_objc_msgSend_fixup_alloc
      .weak_definition l_objc_msgSend_fixup_alloc
      .section __DATA, __objc_msgrefs, coalesced
      .align 3
l_objc_msgSend_fixup_alloc:
       .quad   _objc_msgSend_fixup
       .quad   L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".

Currently only supported on Darwin platforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107433 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Eliminate the other half of the BRCOND optimization, and update</title>
<updated>2010-06-24T15:24:03Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2010-06-24T15:24:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=ee1c8707789ac540ca2d0037d397f39fa91e7571'/>
<id>urn:sha1:ee1c8707789ac540ca2d0037d397f39fa91e7571</id>
<content type='text'>
as many tests as possible.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106749 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Eliminate the first have of the optimization which eliminates BRCOND</title>
<updated>2010-06-24T15:04:11Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2010-06-24T15:04:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=102f3851bbde16fdd826d072240731365fe6da5d'/>
<id>urn:sha1:102f3851bbde16fdd826d072240731365fe6da5d</id>
<content type='text'>
when the condition is constant. This optimization shouldn't be
necessary, because codegen shouldn't be able to find dead control
paths that the IR-level optimizer can't find. And it's undesirable,
because it encourages bugpoint to leave "br i1 false" branches
in its output. And it wasn't updating the CFG.

I updated all the tests I could, but some tests are too reduced
and I wasn't able to meaningfully preserve them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106748 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Remove the local register allocator.</title>
<updated>2010-06-15T21:58:33Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2010-06-15T21:58:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8a3eab9b20acb7193285bc31c9a3e23c7c7d7173'/>
<id>urn:sha1:8a3eab9b20acb7193285bc31c9a3e23c7c7d7173</id>
<content type='text'>
Please use the fast allocator instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106051 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix some latency computation bugs: if the use is not a machine opcode do not just return zero.</title>
<updated>2010-05-28T23:26:21Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2010-05-28T23:26:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=046fa3f90a31ebfa10df89ae348f478d492709a9'/>
<id>urn:sha1:046fa3f90a31ebfa10df89ae348f478d492709a9</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105061 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
