History log of /llvm-project-15.0.7/llvm/lib/CodeGen/MachineBasicBlock.cpp (Results 176 – 200 of 410)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# ed17079b 17-Sep-2015 Reid Kleckner <[email protected]>

[WinEH] Add and use hasEHPadSuccessor instead of getLandingPadSuccessor

getLandingPadSuccessor assumes that each invoke can have at most one EH
pad successor, but WinEH invokes can have more than on

[WinEH] Add and use hasEHPadSuccessor instead of getLandingPadSuccessor

getLandingPadSuccessor assumes that each invoke can have at most one EH
pad successor, but WinEH invokes can have more than one. Two out of
three callers of getLandingPadSuccessor don't use the returned
landingpad, so we can make them use this simple predicate instead.

Eventually we'll have to circle back and fix SplitKit.cpp so that
register allocation works. Baby steps.

llvm-svn: 247904

show more ...


# c7b155f6 16-Sep-2015 Eric Christopher <[email protected]>

Use the cached TargetInstrInfo instead of looking it up again.

llvm-svn: 247865


# d9da1627 09-Sep-2015 Matthias Braun <[email protected]>

Save LaneMask with livein registers

With subregister liveness enabled we can detect the case where only
parts of a register are live in, this is expressed as a 32bit lanemask.
The current code only

Save LaneMask with livein registers

With subregister liveness enabled we can detect the case where only
parts of a register are live in, this is expressed as a 32bit lanemask.
The current code only keeps registers in the live-in list and therefore
enumerated all subregisters affected by the lanemask. This turned out to
be too conservative as the subregister may also cover additional parts
of the lanemask which are not live. Expressing a given lanemask by
enumerating a minimum set of subregisters is computationally expensive
so the best solution is to simply change the live-in list to store the
lanemasks as well. This will reduce memory usage for targets using
subregister liveness and slightly increase it for other targets

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

llvm-svn: 247171

show more ...


# 0e288234 27-Aug-2015 Reid Kleckner <[email protected]>

[WinEH] Add some support for code generating catchpad

We can now run 32-bit programs with empty catch bodies. The next step
is to change PEI so that we get funclet prologues and epilogues.

llvm-sv

[WinEH] Add some support for code generating catchpad

We can now run 32-bit programs with empty catch bodies. The next step
is to change PEI so that we get funclet prologues and epilogues.

llvm-svn: 246235

show more ...


Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4
# 130bd90e 25-Aug-2015 Matthias Braun <[email protected]>

MachineBasicBlock: Use MCPhysReg instead of unsigned in livein API

This is friendlier to the readers as it makes it clear that the API is
not meant for vregs but just for physregs.

llvm-svn: 245977


# 1b50bb58 24-Aug-2015 Matthias Braun <[email protected]>

Try to fix buildbots

Apparently std::vector::erase(const_iterator) (as opposed to the
non-const iterator) is a part of C++11 but it seems this is not available
on all the buildbots.

llvm-svn: 245900


# 7a8b1150 24-Aug-2015 Matthias Braun <[email protected]>

Let's try to fix GNU libstdc++ buildbots

llvm-svn: 245898


# b2b7ef1d 24-Aug-2015 Matthias Braun <[email protected]>

MachineBasicBlock: Add liveins() method returning an iterator_range

llvm-svn: 245895


Revision tags: llvmorg-3.7.0-rc3
# 2a02c1cb 12-Aug-2015 Cong Hou <[email protected]>

NFC. Convert comments in MachineBasicBlock.cpp into new style.

llvm-svn: 244815


# 2793e721 10-Aug-2015 Cong Hou <[email protected]>

NFC. Fix some format issues in lib/CodeGen/MachineBasicBlock.cpp.

llvm-svn: 244518


# ec105872 06-Aug-2015 Cong Hou <[email protected]>

Revert r244154 which causes some build failure. See https://llvm.org/bugs/show_bug.cgi?id=24377.

llvm-svn: 244239


# 36e7e52a 05-Aug-2015 Cong Hou <[email protected]>

Record whether the weights on out-edges from a MBB are normalized.

1. Create a utility function normalizeEdgeWeights() in MachineBranchProbabilityInfo that normalizes a list of edge weights so that

Record whether the weights on out-edges from a MBB are normalized.

1. Create a utility function normalizeEdgeWeights() in MachineBranchProbabilityInfo that normalizes a list of edge weights so that the sum of then can fit in uint32_t.
2. Provide an interface in MachineBasicBlock to normalize its successors' weights.
3. Add a flag in MachineBasicBlock that tracks whether its successors' weights are normalized.
4. Provide an overload of getSumForBlock that accepts a non-const pointer to a MBB so that it can force normalizing this MBB's successors' weights.
5. Update several uses of getSumForBlock() by eliminating the once needed weight scale.

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

llvm-svn: 244154

show more ...


Revision tags: llvmorg-3.7.0-rc2
# 9f154f60 29-Jul-2015 Aaron Ballman <[email protected]>

Reverting r243386 because it has serious post-commit concerns that have not been addressed. Also reverts r243389, which relied on this commit.

llvm-svn: 243527


# 567001c2 28-Jul-2015 Puyan Lotfi <[email protected]>

Changes for MachineBasicBlock to use SortedVector for LiveIns.

llvm-svn: 243389


Revision tags: llvmorg-3.7.0-rc1
# f48e9827 26-Jun-2015 Duncan P. N. Exon Smith <[email protected]>

CodeGen: Push the ModuleSlotTracker through MachineOperands

Push `ModuleSlotTracker` through `MachineOperand`s, dropping the time
for `llc -print-machineinstrs` on the testcase in PR23865 from ~13
s

CodeGen: Push the ModuleSlotTracker through MachineOperands

Push `ModuleSlotTracker` through `MachineOperand`s, dropping the time
for `llc -print-machineinstrs` on the testcase in PR23865 from ~13
seconds to ~9 seconds. Now `SlotTracker::processFunctionMetadata()`
accounts for only 8% of the runtime, which seems reasonable.

llvm-svn: 240845

show more ...


# 32692154 26-Jun-2015 Duncan P. N. Exon Smith <[email protected]>

CodeGen: Use a single SlotTracker in MachineFunction::print()

Expose enough of the IR-level `SlotTracker` so that
`MachineFunction::print()` can use a single one for printing
`BasicBlock`s. Next st

CodeGen: Use a single SlotTracker in MachineFunction::print()

Expose enough of the IR-level `SlotTracker` so that
`MachineFunction::print()` can use a single one for printing
`BasicBlock`s. Next step would be to lift this through a few more APIs
so that we can make other print methods faster.

Fixes PR23865, changing the runtime of `llc -print-machineinstrs` from
many minutes (killed after 3 minutes, but it wasn't very close) to
13 seconds for a 502185 line dump.

llvm-svn: 240842

show more ...


Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1
# 6b568964 23-Jun-2015 Benjamin Kramer <[email protected]>

[MachineBasicBlock] Add getFirstNonDebugInstr to complement getLastNonDebugInstr

Use it in CodeGen where applicable. No functionality change intended.

llvm-svn: 240414


# 9c956b33 23-Jun-2015 Benjamin Kramer <[email protected]>

[MachineBasicBlock] Use the const_cast(this) trick to reduce duplication

NFC.

llvm-svn: 240413


# 07a07ba4 27-May-2015 Matthias Braun <[email protected]>

MachineBasicBlock: Cleanup computeRegisterLiveness()

- Clean documentation comment
- Change the API to accept an iterator so you can actually pass
MachineBasicBlock::end() now.
- Add more "const".

MachineBasicBlock: Cleanup computeRegisterLiveness()

- Clean documentation comment
- Change the API to accept an iterator so you can actually pass
MachineBasicBlock::end() now.
- Add more "const".

llvm-svn: 238288

show more ...


# 6f482000 18-May-2015 Jim Grosbach <[email protected]>

MC: Clean up method names in MCContext.

The naming was a mish-mash of old and new style. Update to be consistent
with the new. NFC.

llvm-svn: 237594


Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1
# 75e0c4b0 27-Mar-2015 Yaron Keren <[email protected]>

Remove superfluous .str() and replace std::string concatenation with Twine.

llvm-svn: 233392


Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1
# 1cdefae9 27-Feb-2015 Eric Christopher <[email protected]>

Rewrite MachineOperand::print and MachineInstr::print to avoid
uses of TM->getSubtargetImpl and propagate to all calls.

This could be a debugging regression in places where we had a
TargetMachine an

Rewrite MachineOperand::print and MachineInstr::print to avoid
uses of TM->getSubtargetImpl and propagate to all calls.

This could be a debugging regression in places where we had a
TargetMachine and/or MachineFunction but don't have it as part
of the MachineInstr. Fixing this would require passing a
MachineFunction/Function down through the print operator, but
none of the existing uses in tree seem to do this.

llvm-svn: 230710

show more ...


Revision tags: llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1
# 366e5c1b 22-Dec-2014 Rafael Espindola <[email protected]>

The leak detector is dead, long live asan and valgrind.

In resent times asan and valgrind have found way more memory management bugs
in llvm than the special purpose leak detector.

llvm-svn: 224703


Revision tags: llvmorg-3.5.1, llvmorg-3.5.1-rc2
# d6f8e4b0 11-Dec-2014 Duncan P. N. Exon Smith <[email protected]>

CodeGen: Stop using LeakDetector for MachineInstr

Since `MachineInstr` is required to have a trivial destructor, it cannot
remove itself from `LeakDetection`. Remove the calls.

As it happens, this

CodeGen: Stop using LeakDetector for MachineInstr

Since `MachineInstr` is required to have a trivial destructor, it cannot
remove itself from `LeakDetection`. Remove the calls.

As it happens, this requirement is because `MachineFunction` allocates
all `MachineInstr`s in a custom allocator; when the `MachineFunction` is
destroyed they're dropped of the edge. There's no benefit to detecting
leaks.

llvm-svn: 224061

show more ...


Revision tags: llvmorg-3.5.1-rc1
# 4e27343e 04-Dec-2014 Matt Arsenault <[email protected]>

Allow target to specify prefix for labels

Use the MCAsmInfo instead of the DataLayout, and allow
specifying a custom prefix for labels specifically. HSAIL
requires that labels begin with @, but glob

Allow target to specify prefix for labels

Use the MCAsmInfo instead of the DataLayout, and allow
specifying a custom prefix for labels specifically. HSAIL
requires that labels begin with @, but global symbols with &.

llvm-svn: 223323

show more ...


12345678910>>...17