| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 100177
|
| |
|
|
| |
llvm-svn: 100176
|
| |
|
|
|
|
|
| |
in particular, they end up aligning strings at 16-byte boundaries, and
there's no way for GlobalOpt to check OptForSize.
llvm-svn: 100172
|
| |
|
|
|
|
|
|
| |
adding it to CSE hash table since copies aren't being considered for CSE and they may be deleted.
rdar://7819990
llvm-svn: 100170
|
| |
|
|
|
|
|
| |
folder to be tolerant of debug info following the
branch(es) at the end of a block.
llvm-svn: 100168
|
| |
|
|
| |
llvm-svn: 100167
|
| |
|
|
| |
llvm-svn: 100164
|
| |
|
|
|
|
| |
This fixes test/Transforms/GlobalOpt/gv-align.ll.
llvm-svn: 100161
|
| |
|
|
| |
llvm-svn: 100160
|
| |
|
|
|
|
| |
This is more efficient than adding them to the worklist and then ignoring them.
llvm-svn: 100158
|
| |
|
|
|
|
|
| |
likely not a bitcode file at all, rather than being a bitcode file which
is truncated. Check for this case and issue a more relevant error message.
llvm-svn: 100156
|
| |
|
|
| |
llvm-svn: 100148
|
| |
|
|
| |
llvm-svn: 100147
|
| |
|
|
| |
llvm-svn: 100146
|
| |
|
|
| |
llvm-svn: 100145
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation. It is easy to
get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.
llvm-svn: 100143
|
| |
|
|
| |
llvm-svn: 100137
|
| |
|
|
|
|
| |
label due to one or other reason.
llvm-svn: 100134
|
| |
|
|
|
|
| |
all together.
llvm-svn: 100133
|
| |
|
|
| |
llvm-svn: 100132
|
| |
|
|
| |
llvm-svn: 100131
|
| |
|
|
|
|
| |
one place. This removes the template function added in svn 94690.
llvm-svn: 100130
|
| |
|
|
|
|
| |
blow out the stack for really big functions. Start by fixing an easy case.
llvm-svn: 100126
|
| |
|
|
|
|
|
|
| |
zero.
- Do not try to infer GV alignment unless its type is sized. It's not possible to infer alignment if it has opaque type.
llvm-svn: 100118
|
| |
|
|
| |
llvm-svn: 100117
|
| |
|
|
|
|
| |
Update comment, rename a local variable.
llvm-svn: 100116
|
| |
|
|
| |
llvm-svn: 100107
|
| |
|
|
|
|
|
|
|
|
| |
- Use a RAII object to close the FD.
- Use sys::StrError instead of thread-unsafe strerror calls.
- Recover gracefully if read returns zero. This works around an issue on
DragonFlyBSD where /dev/null has an st_size of 136 but we can't read 136 bytes
from it.
llvm-svn: 100106
|
| |
|
|
|
|
|
|
|
| |
is necessary. Inherits from new templated baseclass CallSiteBase<>
which is highly customizable. Base CallSite on it too, in a configuration
that allows full mutation.
Adapt some call sites in analyses to employ ImmutableCallSite.
llvm-svn: 100100
|
| |
|
|
|
|
| |
patch back in r94322.
llvm-svn: 100097
|
| |
|
|
|
|
|
|
|
|
| |
of raw mdnodes. This allows frontends to specify debug
locations without ever creating an MDNode for the DILocation.
This requires a corresponding clang/llvm-gcc change which
I'll try to commit as simultaneously as possible.
llvm-svn: 100095
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
1. Makes it possible to lower with floating point loads and stores.
2. Avoid unaligned loads / stores unless it's fast.
3. Fix some memcpy lowering logic bug related to when to optimize a
load from constant string into a constant.
4. Adjust x86 memcpy lowering threshold to make it more sane.
5. Fix x86 target hook so it uses vector and floating point memory
ops more effectively.
rdar://7774704
llvm-svn: 100090
|
| |
|
|
| |
llvm-svn: 100089
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
being a TrackingVH<MDNode> to a NewDebugLoc, shrinking
sizeof(Instruction) a lot, and providing clients the ability
to deal with locations in terms of NewDebugLoc instead of
having to deal with Metadata. This is still fully compatible
with all clients that *do* use MDNodes for everything of
course.
No functionality change.
llvm-svn: 100088
|
| |
|
|
| |
llvm-svn: 100087
|
| |
|
|
|
|
|
|
| |
to used deferred resolution instead of creating a temporary
node + rauw. There is no reason to create the temporary
mdnode, then do rauw, then destroy it.
llvm-svn: 100086
|
| |
|
|
|
|
|
| |
entry in the Scope+InlinedAt drops to a non-canonical form,
we need to reset the idx member of both VH's to 0.
llvm-svn: 100084
|
| |
|
|
| |
llvm-svn: 100083
|
| |
|
|
| |
llvm-svn: 100082
|
| |
|
|
| |
llvm-svn: 100081
|
| |
|
|
|
|
|
| |
aes instead of sse4.2. Add a brief todo for a subtarget flag and rework
the aeskeygenassist instruction to more closely match the docs.
llvm-svn: 100078
|
| |
|
|
| |
llvm-svn: 100074
|
| |
|
|
|
|
|
|
|
|
|
|
| |
and will replace the 'DbgInfo' member in Instruction.
The benefit of NewDebugLoc is that it is compact (8 bytes vs 12/24
bytes for the DbgInfo member in Instruction on a 32/64 bit system),
it means that we will end up not having to allocate MDNodes to
represent the "DILocations" in common cases of -O0 -g, and it is
much more efficient to get things out of than the MDNode.
llvm-svn: 100072
|
| |
|
|
| |
llvm-svn: 100066
|
| |
|
|
| |
llvm-svn: 100065
|
| |
|
|
| |
llvm-svn: 100062
|
| |
|
|
| |
llvm-svn: 100058
|
| |
|
|
|
|
|
|
|
|
| |
* Set the "DestA" and "DestB" according to how they're understood by the
method. I.e., if one or both of them should point to the "fall through" block,
then point to the fall through block.
* Improve the loop that removes superfluous edges to be more understandable.
llvm-svn: 100056
|
| |
|
|
|
|
| |
functions. Partial fix for Radar 7424645.
llvm-svn: 100048
|
| |
|
|
|
|
|
|
| |
PHIs. The previous algorithm was unable to reliably detect when existing
PHIs in a cycle can be reused. I'm still working on reducing a testcase.
Radar 7711900.
llvm-svn: 100047
|