| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch removes most of the trivial cases of weak vtables by pinning them to
a single object file. The memory leaks in this version have been fixed. Thanks
Alexey for pointing them out.
Differential Revision: http://llvm-reviews.chandlerc.com/D2068
Reviewed by Andy
llvm-svn: 195064
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This change is incorrect. If you delete virtual destructor of both a base class
and a subclass, then the following code:
Base *foo = new Child();
delete foo;
will not cause the destructor for members of Child class. As a result, I observe
plently of memory leaks. Notable examples I investigated are:
ObjectBuffer and ObjectBufferStream, AttributeImpl and StringSAttributeImpl.
llvm-svn: 194997
|
| |
|
|
|
|
|
|
|
|
|
| |
This patch removes most of the trivial cases of weak vtables by pinning them to
a single object file.
Differential Revision: http://llvm-reviews.chandlerc.com/D2068
Reviewed by Andy
llvm-svn: 194865
|
| |
|
|
|
|
| |
GetOppositeBranchCondition().
llvm-svn: 192006
|
| |
|
|
| |
llvm-svn: 189768
|
| |
|
|
|
|
| |
and loadRegFromStackSlot.
llvm-svn: 184935
|
| |
|
|
|
|
|
|
|
|
| |
MachineInstrs
Frame index handling is now target-agnostic, so delete the target hooks
for creation & asm printing of target-specific addressing in DBG_VALUEs
and any related functions.
llvm-svn: 184067
|
| |
|
|
|
|
| |
backend.
llvm-svn: 183613
|
| |
|
|
|
|
|
|
| |
the internals of TargetMachine could change.
No functionality change intended.
llvm-svn: 183565
|
| |
|
|
| |
llvm-svn: 183243
|
| |
|
|
| |
llvm-svn: 182228
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.
Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]
llvm-svn: 169131
|
| |
|
|
|
|
| |
since they are equivalent.
llvm-svn: 155186
|
| |
|
|
|
|
| |
MSP430, PPC, PTX, Sparc, X86, XCore.
llvm-svn: 150878
|
| |
|
|
| |
llvm-svn: 147874
|
| |
|
|
| |
llvm-svn: 147855
|
| |
|
|
| |
llvm-svn: 147269
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
generator to it. For non-bundle instructions, these behave exactly the same
as the MC layer API.
For properties like mayLoad / mayStore, look into the bundle and if any of the
bundled instructions has the property it would return true.
For properties like isPredicable, only return true if *all* of the bundled
instructions have the property.
For properties like canFoldAsLoad, isCompare, conservatively return false for
bundles.
llvm-svn: 146026
|
| |
|
|
|
|
| |
AnalyzeBranch doesn't change the successor, just the order.
llvm-svn: 145779
|
| |
|
|
|
|
| |
These are strictly utilities for registering targets and components.
llvm-svn: 138450
|
| |
|
|
|
|
| |
registeration and creation code into XXXMCDesc libraries.
llvm-svn: 135184
|
| |
|
|
|
|
|
|
|
|
|
|
| |
and MCSubtargetInfo.
- Added methods to update subtarget features (used when targets automatically
detect subtarget features or switch modes).
- Teach X86Subtarget to update MCSubtargetInfo features bits since the
MCSubtargetInfo layer can be shared with other modules.
- These fixes .code 16 / .code 32 support since mode switch is updated in
MCSubtargetInfo so MC code emitter can do the right thing.
llvm-svn: 134884
|
| |
|
|
| |
llvm-svn: 134244
|
| |
|
|
| |
llvm-svn: 134030
|
| |
|
|
| |
llvm-svn: 134024
|
| |
|
|
| |
llvm-svn: 123561
|
| |
|
|
| |
llvm-svn: 108567
|
| |
|
|
|
|
|
|
| |
The only folding these load/store architectures can do is converting COPY into a
load or store, and the target independent part of foldMemoryOperand already
knows how to do that.
llvm-svn: 108099
|
| |
|
|
| |
llvm-svn: 108086
|
| |
|
|
|
|
|
|
|
|
|
|
| |
addresses a longstanding deficiency noted in many FIXMEs scattered
across all the targets.
This effectively moves the problem up one level, replacing eleven
FIXMEs in the targets with eight FIXMEs in CodeGen, plus one path
through FastISel where we actually supply a DebugLoc, fixing Radar
7421831.
llvm-svn: 106243
|
| |
|
|
|
|
| |
doesn't have to guess.
llvm-svn: 103194
|
| |
|
|
| |
llvm-svn: 103193
|
| |
|
|
| |
llvm-svn: 100214
|
| |
|
|
|
|
| |
and PIC codegen. Patch by Venkatraman Govindaraju!
llvm-svn: 81877
|
| |
|
|
| |
llvm-svn: 76960
|
| |
|
|
|
|
|
|
|
| |
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640
|
| |
|
|
|
|
|
|
|
| |
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379
|
| |
|
|
|
|
| |
the code to annotate machineoperands to LiveIntervalAnalysis. It also add markers for implicit_def that define physical registers. The rest, is just a lot of details.
llvm-svn: 74580
|
| |
|
|
|
|
|
|
|
|
|
|
| |
booleans. This gives a better indication of what the "addReg()" is
doing. Remembering what all of those booleans mean isn't easy, especially if you
aren't spending all of your time in that code.
I took Jakob's suggestion and made it illegal to pass in "true" for the
flag. This should hopefully prevent any unintended misuse of this (by reverting
to the old way of using addReg()).
llvm-svn: 71722
|
| |
|
|
| |
llvm-svn: 64891
|
| |
|
|
| |
llvm-svn: 64435
|
| |
|
|
|
|
| |
Modify callers.
llvm-svn: 64409
|
| |
|
|
| |
llvm-svn: 64342
|
| |
|
|
|
|
| |
sub-register indices as well.
llvm-svn: 62600
|
| |
|
|
| |
llvm-svn: 61715
|
| |
|
|
|
|
|
| |
parts, and add target-independent code to add/preserve
MachineMemOperands.
llvm-svn: 60488
|
| |
|
|
| |
llvm-svn: 59542
|
| |
|
|
| |
llvm-svn: 57622
|
| |
|
|
|
|
| |
isReg, etc., from isRegister, etc.
llvm-svn: 57006
|
| |
|
|
|
|
|
|
|
| |
isImmediate(), isRegister(), and friends, to avoid confusion
about having two different names with the same meaning. I'm
not attached to the longer names, and would be ok with
changing to the shorter names if others prefer it.
llvm-svn: 56189
|