This branch is an import of the Subversion branch from http://llvm.org/svn/llvm-project/llvm/trunk.
Last successful import was 5 hours ago.
- 148471. By ctopper 6 hours ago
[ConstantRange] Use ternary operator instead of 'if' to avoid copying an APInt and then possibly copying over it.
- 148470. By ctopper 6 hours ago
[ConstantRange] Add std::move to a bunch of places that pass local APInts to ConstantRange constructor.
The ConstantRange constructor takes APInt by value so without these moves we are making copies.
- 148469. By zturner 8 hours ago
Remove unused private field.
- 148468. By ctopper 8 hours ago
[ConstantRange] Remove a temporary APInt I meant to delete in r300621. NFC
- 148467. By ctopper 8 hours ago
[ConstantRange] Improve the efficiency of one of the ConstantRange constructors.
We were default constructing the Lower/Upper APInts. Then creating min or max value, then doing a move assignment to Lower and copy assignment to upper. The copy assignment operator in particular has an out of line function call that has to examine whether or not a previous allocation exists that can be reused which of course it can't in this case.
The new code creates the min/max value first, move constructs Lower from it then copy constructs Upper from Lower.
This also seems to have convinced a self host build that this constructor can be inlined more readily into other methods in ConstantRange.
- 148466. By arsenm 12 hours ago
AMDGPU: Fix copies from physical registers in SIFixSGPRCopies
This would assert when there were multiple defs of
a physical register.
We just need to move all of the users of it.
- 148465. By zturner 12 hours ago
[llvm-pdbdump] Abstract some of the YAML/Raw printing code.
There is a lot of duplicate code for printing line info between
YAML and the raw output printer. This introduces a base class
that can be shared between the two, and makes some minor
cleanups in the process.
- 148464. By ahatanak 13 hours ago
[ObjCARC] Do not move a release between a call and a
sedReturnValue that retains the returned value.
This commit fixes a bug in ARC optimizer where it moves a release
between a call and a retainAutorelea
sedReturnValue, causing the returned
object to be released before the retainAutorelea
This commit accomplishes that by doing a lookahead and checking whether
the call prevents the release from moving upwards. In the long term, we
should treat the region between the retainAutorelea
the call as a critical section and disallow moving anything there
(possibly using operand bundles).
- 148463. By davide 13 hours ago
[LoopUnswitch] Make DEBUG output more readable (part 2).
I fixed my miscompile in r301722 and I hope I don't have to take
a look at this code again now that Chandler has a new LoopUnswitch
pass, but maybe this could be of use for somebody else in the
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)