| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
ArrayRef.
llvm-svn: 135761
|
| |
|
|
| |
llvm-svn: 135744
|
| |
|
|
| |
llvm-svn: 135674
|
| |
|
|
|
|
| |
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.
llvm-svn: 135673
|
| |
|
|
| |
llvm-svn: 135637
|
| |
|
|
| |
llvm-svn: 135632
|
| |
|
|
|
|
| |
C++0x memory model and atomics. See thread on llvmdev titled "Reviving the new LLVM concurrency model".
llvm-svn: 135624
|
| |
|
|
|
|
| |
This reverts commit ba034c0a2e71303c7cf3f43ca8e69dc8436b32e2.
llvm-svn: 135485
|
| |
|
|
| |
llvm-svn: 135482
|
| |
|
|
| |
llvm-svn: 135481
|
| |
|
|
| |
llvm-svn: 135478
|
| |
|
|
| |
llvm-svn: 135477
|
| |
|
|
| |
llvm-svn: 135458
|
| |
|
|
| |
llvm-svn: 135453
|
| |
|
|
| |
llvm-svn: 135376
|
| |
|
|
| |
llvm-svn: 135365
|
| |
|
|
|
|
| |
Patches by Damien Schoof!
llvm-svn: 135293
|
| |
|
|
| |
llvm-svn: 135265
|
| |
|
|
| |
llvm-svn: 135142
|
| |
|
|
| |
llvm-svn: 134979
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
patch brings numerous advantages to LLVM. One way to look at it
is through diffstat:
109 files changed, 3005 insertions(+), 5906 deletions(-)
Removing almost 3K lines of code is a good thing. Other advantages
include:
1. Value::getType() is a simple load that can be CSE'd, not a mutating
union-find operation.
2. Types a uniqued and never move once created, defining away PATypeHolder.
3. Structs can be "named" now, and their name is part of the identity that
uniques them. This means that the compiler doesn't merge them structurally
which makes the IR much less confusing.
4. Now that there is no way to get a cycle in a type graph without a named
struct type, "upreferences" go away.
5. Type refinement is completely gone, which should make LTO much MUCH faster
in some common cases with C++ code.
6. Types are now generally immutable, so we can use "Type *" instead
"const Type *" everywhere.
Downsides of this patch are that it removes some functions from the C API,
so people using those will have to upgrade to (not yet added) new API.
"LLVM 3.0" is the right time to do this.
There are still some cleanups pending after this, this patch is large enough
as-is.
llvm-svn: 134829
|
| |
|
|
| |
llvm-svn: 134752
|
| |
|
|
|
|
| |
is to use this for architectures that have a native FMA instruction.
llvm-svn: 134742
|
| |
|
|
| |
llvm-svn: 134517
|
| |
|
|
|
|
| |
integers, and fix the one optimization pass that I'm aware of that needs updating for this. At least one current target, ARM NEON, can implement these operations on vectors directly.
llvm-svn: 134265
|
| |
|
|
| |
llvm-svn: 134134
|
| |
|
|
| |
llvm-svn: 134078
|
| |
|
|
| |
llvm-svn: 133160
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This simplifies many of the target description files since it is common
for register classes to be related or contain sequences of numbered
registers.
I have verified that this doesn't change the files generated by TableGen
for ARM and X86. It alters the allocation order of MBlaze GPR and Mips
FGR32 registers, but I believe the change is benign.
llvm-svn: 133105
|
| |
|
|
| |
llvm-svn: 133077
|
| |
|
|
|
|
|
| |
or instruction cache access. Update the targets to match it and also teach
autoupgrade.
llvm-svn: 132976
|
| |
|
|
| |
llvm-svn: 132916
|
| |
|
|
| |
llvm-svn: 132730
|
| |
|
|
|
|
| |
documentation. This should now reflect the current state of LLVM Makefiles.
llvm-svn: 132527
|
| |
|
|
| |
llvm-svn: 132526
|
| |
|
|
| |
llvm-svn: 132345
|
| |
|
|
| |
llvm-svn: 132344
|
| |
|
|
| |
llvm-svn: 132310
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
transformed by the inliner into a branch to the enclosing landing pad
(when inlined through an invoke). If not so optimized, it is lowered
DWARF EH preparation into a call to _Unwind_Resume (or _Unwind_SjLj_Resume
as appropriate). Its chief advantage is that it takes both the
exception value and the selector value as arguments, meaning that there
is zero effort in recovering these; however, the frontend is required
to pass these down, which is not actually particularly difficult.
Also document the behavior of landing pads a bit better, and make it
clearer that it's okay that personality functions don't always land at
landing pads. This is just a fact of life. Don't write optimizations that
rely on pushing things over an unwind edge.
llvm-svn: 132253
|
| |
|
|
|
|
| |
and enhancements in sub-project status updates.
llvm-svn: 132227
|
| |
|
|
| |
llvm-svn: 132212
|
| |
|
|
| |
llvm-svn: 132168
|
| |
|
|
| |
llvm-svn: 132010
|
| |
|
|
| |
llvm-svn: 131921
|
| |
|
|
| |
llvm-svn: 131873
|
| |
|
|
| |
llvm-svn: 131850
|
| |
|
|
| |
llvm-svn: 131546
|
| |
|
|
| |
llvm-svn: 131416
|
| |
|
|
|
|
|
| |
2. Remove unused function.
3. Correct indentation.
llvm-svn: 131028
|
| |
|
|
| |
llvm-svn: 130889
|