| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 132107
|
| |
|
|
|
|
|
|
|
|
|
| |
Rework how the MCWin64EHUnwindInfo instances are stored. Fix issues with
chained unwind areas exposed by the test that were related to this.
The ChainedParent field had the wrong address, because when the chained unwind
info was added, the addresses shifted around. Now we store the pointers to the
structures, which are now allocated from the MC heap.
llvm-svn: 132106
|
| |
|
|
|
|
| |
rdar://problem/6920088
llvm-svn: 132105
|
| |
|
|
|
|
|
|
|
| |
makes it into a special member function. This is very bad and can lead
to all sorts of nastiness including implicit member functions violating
the One Definition Rule. This should probably be made ill-formed in a
later version of the standard, but for now we'll just warn.
llvm-svn: 132104
|
| |
|
|
|
|
|
|
| |
Use a proper worklist for use-def traversal without holding onto an
iterator. Now that we process all IV uses, we need complete logic for
resusing existing derived IV defs. See HoistStep.
llvm-svn: 132103
|
| |
|
|
|
|
|
|
| |
rdar://problem/8139919 . This shouldn't make much of a difference at -O3, but should substantially reduce the number of generated memcpy's at -O0.
Originally r130717, but was backed out due to an ObjC regression.
llvm-svn: 132102
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This doesn't change functionality (much), but it allows for a more fine-grained
eviction policy. The current policy only compares spill weights, and that is not
always the best thing to do. Spill weights are designed to serve linear scan,
and they don't consider live range splitting.
Add a mechanism so canEvict() can request that a live range be evicted and
split/spilled. This is to avoid infinite eviction loops.
llvm-svn: 132101
|
| |
|
|
|
|
| |
the values of globals when the called function is strlen.
llvm-svn: 132100
|
| |
|
|
|
|
|
|
|
|
| |
simpler and more consistent.
The practical effects here are that x86-64 fast-isel can now handle trunc from i8 to i1, and ARM fast-isel can handle many more constructs involving integers narrower than 32 bits (including loads, stores, and many integer casts).
rdar://9437928 .
llvm-svn: 132099
|
| |
|
|
| |
llvm-svn: 132098
|
| |
|
|
| |
llvm-svn: 132097
|
| |
|
|
| |
llvm-svn: 132096
|
| |
|
|
|
|
|
|
| |
break at and to disassemble.
Usage: disasm.py [-n name] executable-image
By default, it breaks at and disassembles the 'main' function.
llvm-svn: 132090
|
| |
|
|
|
|
| |
Pattern is not. Thanks Nick for catching this!
llvm-svn: 132089
|
| |
|
|
|
|
|
|
| |
terminate the inferior process
by entering 'Ctrl-D' or 'quit'.
llvm-svn: 132088
|
| |
|
|
| |
llvm-svn: 132087
|
| |
|
|
| |
llvm-svn: 132086
|
| |
|
|
|
|
|
|
|
|
| |
them.
I had to add a special SwitchSectionNoChange method to MCStreamer just for
.seh_handlerdata. If this isn't OK, please let me know, and I'll find some
other way to fix .seh_handlerdata streaming.
llvm-svn: 132084
|
| |
|
|
| |
llvm-svn: 132083
|
| |
|
|
| |
llvm-svn: 132082
|
| |
|
|
|
|
| |
Part of rdar://9119939
llvm-svn: 132081
|
| |
|
|
|
|
|
|
| |
behind implicit moves. We now correctly identify move constructors and
assignment operators and update bits on the record correctly. Generation
of implicit moves (declarations or definitions) is not yet supported.
llvm-svn: 132080
|
| |
|
|
| |
llvm-svn: 132079
|
| |
|
|
| |
llvm-svn: 132078
|
| |
|
|
| |
llvm-svn: 132077
|
| |
|
|
|
|
| |
been defined in MipsInstrFPU.td.
llvm-svn: 132076
|
| |
|
|
| |
llvm-svn: 132074
|
| |
|
|
|
|
| |
i8 and i16 values.
llvm-svn: 132073
|
| |
|
|
| |
llvm-svn: 132072
|
| |
|
|
| |
llvm-svn: 132071
|
| |
|
|
| |
llvm-svn: 132070
|
| |
|
|
| |
llvm-svn: 132067
|
| |
|
|
| |
llvm-svn: 132066
|
| |
|
|
|
|
| |
return 0 if there are no function calls made.
llvm-svn: 132065
|
| |
|
|
| |
llvm-svn: 132064
|
| |
|
|
| |
llvm-svn: 132063
|
| |
|
|
| |
llvm-svn: 132062
|
| |
|
|
|
|
|
|
| |
'void (__cdecl *)()' differs in parameter lists from 'void (__cdecl *)(void)'
atexit really expects a "void f(void)" function.
llvm-svn: 132061
|
| |
|
|
| |
llvm-svn: 132060
|
| |
|
|
| |
llvm-svn: 132059
|
| |
|
|
| |
llvm-svn: 132058
|
| |
|
|
|
|
|
| |
MSVC doesn't support 64 bit enum.
OpcodeMask is not used anywhere in the code base.
llvm-svn: 132057
|
| |
|
|
|
|
|
|
| |
I kept the reference to the ABI since that is the common case. The
-fno-asynchronous-unwind-tables option is a user controlled way of breaking
the ABI.
llvm-svn: 132053
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Example:
typedef int TYPE;
class C {
__if_exists(TYPE) {
TYPE a;
}
__if_not_exists(TYPE) {
this will never be parsed.
}
};
llvm-svn: 132052
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sure both definitions are identical. This used to produce warnings like
In file included from .../llvm/trunk/tools/lto/LTOCodeGenerator.cpp:45:
In file included from .../llvm/trunk/include/llvm/Support/system_error.h:225:
.../include/llvm/Config/config.h:591:9: warning: 'LLVM_PATH_XDOT_PY' macro redefined
#define LLVM_PATH_XDOT_PY ".../bin/xdot.py"
^
.../include/llvm/Config/llvm-config.h:98:9: note: previous definition is here
#define LLVM_PATH_XDOT_PY ""
^
1 warning generated.
(Paths edited for clarity)
Note: This only affected people who had xdot.py installed.
llvm-svn: 132050
|
| |
|
|
| |
llvm-svn: 132049
|
| |
|
|
|
|
| |
types do not follow the Core Foundation naming conventions.
llvm-svn: 132048
|
| |
|
|
|
|
|
|
|
| |
Patch by Matthieu Monrocq with tweaks by me to avoid StringRefs in the static
diagnostic data structures, which resulted in a huge global-var-init function.
Depends on llvm commit r132046.
llvm-svn: 132047
|
| |
|
|
|
|
|
| |
-Emit an empty warning option as string ("") instead of 0.
-For diagnostic names also emit the size of the string.
llvm-svn: 132046
|
| |
|
|
|
|
| |
buggy methods that parse these directives.
llvm-svn: 132045
|