| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 57320
|
|
|
|
|
|
| |
Patch by Samuel Tardieu.
llvm-svn: 57291
|
|
|
|
| |
llvm-svn: 57254
|
|
|
|
|
|
| |
While hosting instruction check PHI node.
llvm-svn: 57025
|
|
|
|
| |
llvm-svn: 56994
|
|
|
|
|
|
|
| |
instead of hasWeakLinkage in a bunch of optimization
passes.
llvm-svn: 56782
|
|
|
|
| |
llvm-svn: 56716
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g
This sets the stage
- to implement function notes as function attributes and
- to distinguish between function attributes and return value attributes.
This requires corresponding changes in llvm-gcc and clang.
llvm-svn: 56622
|
|
|
|
| |
llvm-svn: 56527
|
|
|
|
|
|
| |
Do not check isDeclaration() in hasNote(). It is clients' responsibility.
llvm-svn: 56524
|
|
|
|
| |
llvm-svn: 56513
|
|
|
|
|
|
| |
Function Notes also. Function notes are stored at index ~0.
llvm-svn: 56511
|
|
|
|
| |
llvm-svn: 56477
|
|
|
|
| |
llvm-svn: 56419
|
|
|
|
| |
llvm-svn: 56315
|
|
|
|
|
|
| |
branch condition.
llvm-svn: 56286
|
|
|
|
| |
llvm-svn: 55971
|
|
|
|
|
|
|
| |
long as the callgraph is correct. It checks
for wrong callgraphs more strictly.
llvm-svn: 55894
|
|
|
|
|
|
| |
commit.
llvm-svn: 55865
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
because it does not maintain a correct list
of callsites. I discovered (see following
commit) that the inliner will create a wrong
callgraph if it is fed a callgraph with
correct edges but incorrect callsites. These
were created by Prune-EH, and while it wasn't
done via removeCallEdgeTo, it could have been
done via removeCallEdgeTo, which is an accident
waiting to happen. Use removeCallEdgeFor
instead.
llvm-svn: 55859
|
|
|
|
| |
llvm-svn: 55835
|
|
|
|
| |
llvm-svn: 55779
|
|
|
|
| |
llvm-svn: 55712
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use raw_ostream instead of std::ostream. Among other goodness,
this speeds up llvm-dis of kc++ with a release build from 0.85s
to 0.49s (88% faster).
Other interesting changes:
1) This makes Value::print be non-virtual.
2) AP[S]Int and ConstantRange can no longer print to ostream directly,
use raw_ostream instead.
3) This fixes a bug in raw_os_ostream where it didn't flush itself
when destroyed.
4) This adds a new SDNode::print method, instead of only allowing "dump".
A lot of APIs have both std::ostream and raw_ostream versions, it would
be useful to go through and systematically anihilate the std::ostream
versions.
This passes dejagnu, but there may be minor fallout, plz let me know if
so and I'll fix it.
llvm-svn: 55263
|
|
|
|
|
|
| |
before/after effects of a pass, crazy!
llvm-svn: 55230
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In particular, Collector was confusing to implementors. Several
thought that this compile-time class was the place to implement
their runtime GC heap. Of course, it doesn't even exist at runtime.
Specifically, the renames are:
Collector -> GCStrategy
CollectorMetadata -> GCFunctionInfo
CollectorModuleMetadata -> GCModuleInfo
CollectorRegistry -> GCRegistry
Function::getCollector -> getGC (setGC, hasGC, clearGC)
Several accessors and nested types have also been renamed to be
consistent. These changes should be obvious.
llvm-svn: 54899
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
returning an std::string by value, it fills in a SmallString/SmallVector
passed in. This significantly reduces string thrashing in some cases.
More specifically, this:
- Adds an operator<< and a print method for APInt that allows you to
directly send them to an ostream.
- Reimplements APInt::toString to be much simpler and more efficient
algorithmically in addition to not thrashing strings quite as much.
This speeds up llvm-dis on kc++ by 7%, and may also slightly speed up the
asmprinter. This also fixes a bug I introduced into the asmwriter in a
previous patch w.r.t. alias printing.
llvm-svn: 54873
|
|
|
|
| |
llvm-svn: 54780
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the GetResultInst instruction. It is still accepted in LLVM assembly
and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove
support for return instructions with multiple values. These are auto-upgraded
to use InsertValueInst instructions.
The IRBuilder still accepts multiple-value returns, and auto-upgrades them
to InsertValueInst instructions.
llvm-svn: 53941
|
|
|
|
| |
llvm-svn: 53761
|
|
|
|
| |
llvm-svn: 53760
|
|
|
|
| |
llvm-svn: 53757
|
|
|
|
| |
llvm-svn: 53735
|
|
|
|
|
|
| |
more than once.
llvm-svn: 53731
|
|
|
|
| |
llvm-svn: 53712
|
|
|
|
| |
llvm-svn: 53705
|
|
|
|
| |
llvm-svn: 53557
|
|
|
|
| |
llvm-svn: 53549
|
|
|
|
|
|
|
| |
a hack around the fact that we don't represent the CFG correctly for sj/lj.
It fixes PR2486.
llvm-svn: 53540
|
|
|
|
| |
llvm-svn: 53538
|
|
|
|
|
|
| |
fixes PR2540.
llvm-svn: 53533
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 53532
|
|
|
|
| |
llvm-svn: 53531
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 53530
|
|
|
|
| |
llvm-svn: 53528
|
|
|
|
| |
llvm-svn: 53527
|
|
|
|
|
|
|
|
|
|
| |
multiline
conditionals and commenting the code better.
No functionality change.
llvm-svn: 53526
|
|
|
|
|
|
| |
- Avoid speculatively execute vector ops.
llvm-svn: 52703
|
|
|
|
| |
llvm-svn: 52688
|
|
|
|
|
|
|
|
| |
in the presence of out-of-loop users of in-loop values and the trip
count is not a known multiple of the unroll count, and to be a bit
simpler overall. This fixes PR2253.
llvm-svn: 52645
|