History log of /llvm-project/llvm/lib/CodeGen/Analysis.cpp (Results 76 – 100 of 139)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-3.8.0-rc1
# 79db9171 15-Jan-2016 Rafael Espindola <rafael.espindola@gmail.com>

Don't try to check all uses if lazy loading.

This means that LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN will not be set
in a few cases.

This should have no impact in ld64 since it doesn't use lazy load

Don't try to check all uses if lazy loading.

This means that LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN will not be set
in a few cases.

This should have no impact in ld64 since it doesn't use lazy loading
when merging modules and that is when it checks
LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN.

llvm-svn: 257915

show more ...


Revision tags: llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1
# 7b54b525 26-Oct-2015 David Blaikie <dblaikie@gmail.com>

Remove assert(false) in favor of asserting the if conditional it is contained within.

Also adjust the code to avoid 3 redundant map lookups.

llvm-svn: 251327


# 980f8f26 09-Oct-2015 Duncan P. N. Exon Smith <dexonsmith@apple.com>

CodeGen: Remove implicit conversions from Analysis and BranchFolding

Remove a few more implicit ilist iterator conversions, this time from
Analysis.cpp and BranchFolding.cpp.

I added a few overload

CodeGen: Remove implicit conversions from Analysis and BranchFolding

Remove a few more implicit ilist iterator conversions, this time from
Analysis.cpp and BranchFolding.cpp.

I added a few overloads for `remove()` and `erase()`, which quite
naturally take pointers as well as iterators as parameters. This will
reduce the churn at least in the short term, but I don't really have a
problem with these existing for longer.

llvm-svn: 249867

show more ...


# e4f9b09b 05-Oct-2015 David Majnemer <david.majnemer@gmail.com>

[WinEH] Update CATCHRET's operand to match its successor

The CATCHRET operand did not match the MachineFunction's CFG. This
mismatch happened because FrameLowering created a new MachineBasicBlock
a

[WinEH] Update CATCHRET's operand to match its successor

The CATCHRET operand did not match the MachineFunction's CFG. This
mismatch happened because FrameLowering created a new MachineBasicBlock
and updated the CFG but forgot to update the CATCHRET operand.

Let's make sure this doesn't happen again by strengthing the funclet
membership analysis: it can now reason about the membership of all basic
blocks, not just those inside of funclets.

llvm-svn: 249344

show more ...


# 16193552 04-Oct-2015 David Majnemer <david.majnemer@gmail.com>

[WinEH] Permit branch folding in the face of funclets

Track which basic blocks belong to which funclets. Permit branch
folding to fire but only if it can prove that doing so will not cause
code in

[WinEH] Permit branch folding in the face of funclets

Track which basic blocks belong to which funclets. Permit branch
folding to fire but only if it can prove that doing so will not cause
code in one funclet to be reused in another.

llvm-svn: 249257

show more ...


# 0a92f86f 28-Aug-2015 David Majnemer <david.majnemer@gmail.com>

Revert r246232 and r246304.

This reverts isSafeToSpeculativelyExecute's use of ReadNone until we
split ReadNone into two pieces: one attribute which reasons about how
the function reasons about memo

Revert r246232 and r246304.

This reverts isSafeToSpeculativelyExecute's use of ReadNone until we
split ReadNone into two pieces: one attribute which reasons about how
the function reasons about memory and another attribute which determines
how it may be speculated, CSE'd, trap, etc.

llvm-svn: 246331

show more ...


# a787de32 28-Aug-2015 David Majnemer <david.majnemer@gmail.com>

[CodeGen] isInTailCallPosition didn't consider readnone tailcalls

A readnone tailcall may still have a chain of computation which follows
it that would invalidate a tailcall lowering. Don't skip th

[CodeGen] isInTailCallPosition didn't consider readnone tailcalls

A readnone tailcall may still have a chain of computation which follows
it that would invalidate a tailcall lowering. Don't skip the analysis
in such cases.

This fixes PR24613.

llvm-svn: 246304

show more ...


Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1
# 44ede33a 09-Jul-2015 Mehdi Amini <mehdi.amini@apple.com>

Make TargetLowering::getPointerTy() taking DataLayout as an argument

Summary:
This change is part of a series of commits dedicated to have a single
DataLayout during compilation by using always the

Make TargetLowering::getPointerTy() taking DataLayout as an argument

Summary:
This change is part of a series of commits dedicated to have a single
DataLayout during compilation by using always the one owned by the
module.

Reviewers: echristo

Subscribers: jholewinski, ted, yaron.keren, rafael, llvm-commits

Differential Revision: http://reviews.llvm.org/D11028

From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 241775

show more ...


# 56228dab 09-Jul-2015 Mehdi Amini <mehdi.amini@apple.com>

Redirect DataLayout from TargetMachine to Module in ComputeValueVTs()

Summary:
Avoid using the TargetMachine owned DataLayout and use the Module owned
one instead. This requires passing the DataLayo

Redirect DataLayout from TargetMachine to Module in ComputeValueVTs()

Summary:
Avoid using the TargetMachine owned DataLayout and use the Module owned
one instead. This requires passing the DataLayout up the stack to
ComputeValueVTs().

This change is part of a series of commits dedicated to have a single
DataLayout during compilation by using always the one owned by the
module.

Reviewers: echristo

Subscribers: jholewinski, yaron.keren, rafael, llvm-commits

Differential Revision: http://reviews.llvm.org/D11019

From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 241773

show more ...


Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1, llvmorg-3.6.1, llvmorg-3.6.1-rc1
# e4310fe9 06-May-2015 Tim Northover <tnorthover@apple.com>

CodeGen: move over-zealous assert into actual if statement.

It's quite possible to encounter an insertvalue instruction that's more deeply
nested than the value we're looking for, but when that happ

CodeGen: move over-zealous assert into actual if statement.

It's quite possible to encounter an insertvalue instruction that's more deeply
nested than the value we're looking for, but when that happens we really
mustn't compare beyond the end of the index array.

Since I couldn't see any guarantees about what comparisons std::equal makes, we
probably need to directly check the size beforehand. In practice, I suspect
most std::equal implementations would probably bail early, which would be OK.
But just in case...

rdar://20834485

llvm-svn: 236635

show more ...


# 851ff69b 04-May-2015 Tim Northover <tnorthover@apple.com>

CodeGen: match up correct insertvalue indices when assessing tail calls.

When deciding whether a value comes from the aggregate or inserted value of an
insertvalue instruction, we compare the indice

CodeGen: match up correct insertvalue indices when assessing tail calls.

When deciding whether a value comes from the aggregate or inserted value of an
insertvalue instruction, we compare the indices against those of the location
we're interested in. One of the lists needs reversing because the input data is
backwards (so that modifications take place at the end of the SmallVector), but
we were reversing both before leading to incorrect results.

Should fix PR23408

llvm-svn: 236457

show more ...


Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1
# 4f6ac162 28-Feb-2015 Benjamin Kramer <benny.kra@googlemail.com>

Replace std::copy with a back inserter with vector append where feasible

All of the cases were just appending from random access iterators to a
vector. Using insert/append can grow the vector to the

Replace std::copy with a back inserter with vector append where feasible

All of the cases were just appending from random access iterators to a
vector. Using insert/append can grow the vector to the perfect size
directly and moves the growing out of the loop. No intended functionalty
change.

llvm-svn: 230845

show more ...


Revision tags: llvmorg-3.6.0
# f734a8ba 20-Feb-2015 Eric Christopher <echristo@gmail.com>

Get the function specific subtarget.

llvm-svn: 230038


Revision tags: llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1
# 7b068f6b 14-Jan-2015 Mehdi Amini <mehdi.amini@apple.com>

Add assertions for out of bound index in ComputeLinearIndex

llvm-svn: 225951


# 8923cc54 14-Jan-2015 Mehdi Amini <mehdi.amini@apple.com>

Fold a loop for array processing in ComputeLinearIndex

When processing an array, every Elt has the same layout, it is
useless to recursively call each ComputeLinearIndex on each element.
Just do

Fold a loop for array processing in ComputeLinearIndex

When processing an array, every Elt has the same layout, it is
useless to recursively call each ComputeLinearIndex on each element.
Just do it once and multiply by the number of elements.

Differential Revision: http://reviews.llvm.org/D6832

llvm-svn: 225949

show more ...


Revision tags: llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1
# 283bc2ed 14-Nov-2014 Reid Kleckner <reid@kleckner.net>

Allow the use of functions as typeinfo in landingpad clauses

This is one step towards supporting SEH filter functions in LLVM.

llvm-svn: 221954


Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2
# d913448b 04-Aug-2014 Eric Christopher <echristo@gmail.com>

Remove the TargetMachine forwards for TargetSubtargetInfo based
information and update all callers. No functional change.

llvm-svn: 214781


# f21434cc 30-Jul-2014 Rafael Espindola <rafael.espindola@gmail.com>

Refactor duplicated code.

llvm-svn: 214328


Revision tags: llvmorg-3.5.0-rc1
# 480872b4 16-Jul-2014 Juergen Ributzka <juergen@apple.com>

Remove TLI from isInTailCallPosition's arguments. NFC.

There is no need to pass on TLI separately to the function. As Eric pointed out
the Target Machine already provides everything we need.

llvm-s

Remove TLI from isInTailCallPosition's arguments. NFC.

There is no need to pass on TLI separately to the function. As Eric pointed out
the Target Machine already provides everything we need.

llvm-svn: 213108

show more ...


# 4ce9863d 11-Jul-2014 Juergen Ributzka <juergen@apple.com>

[FastISel] Make isInTailCallPosition independent of SelectionDAG.

Break out the arguemnts required from SelectionDAG, so that this function can
also be used by FastISel.

llvm-svn: 212844


# dda00098 25-Jun-2014 Eric Christopher <echristo@gmail.com>

The includes were sorted. Revert r210578.

llvm-svn: 211737


# 576d36ae 10-Jun-2014 Eric Christopher <echristo@gmail.com>

Have isInTailCallPosition take the DAG so that we can use the
version of TargetLowering/Machine from there on the way to avoiding
TargetMachine in TargetLowering.

llvm-svn: 210579


# 09fc276d 10-Jun-2014 Eric Christopher <echristo@gmail.com>

Reorder includes to be sorted.

llvm-svn: 210578


# db5028bd 10-Jun-2014 Eric Christopher <echristo@gmail.com>

Fix typos.

llvm-svn: 210571


Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2
# c0196b1b 14-Apr-2014 Craig Topper <craig.topper@gmail.com>

[C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr.

llvm-svn: 206142


123456