| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
advantage of the new backend 'returned' attribute.
The backend will now use the generic 'returned' attribute to form tail calls where possible, as well as avoid save-restores of 'this' in some cases (specifically the cases that matter for the ARM C++ ABI).
This patch also reverts a prior front-end only partial implementation of these optimizations, since it's no longer required.
llvm-svn: 184205
|
| |
|
|
| |
llvm-svn: 184204
|
| |
|
|
| |
llvm-svn: 184203
|
| |
|
|
| |
llvm-svn: 184202
|
| |
|
|
|
|
| |
roots.
llvm-svn: 184201
|
| |
|
|
| |
llvm-svn: 184200
|
| |
|
|
| |
llvm-svn: 184199
|
| |
|
|
| |
llvm-svn: 184198
|
| |
|
|
|
|
|
|
|
|
| |
Transforms will now make changes to headers if header modifications have been
enabled.
FIXME: Only UseNullptr contains a cursory header modification test. Other
transforms should have them too.
llvm-svn: 184197
|
| |
|
|
| |
llvm-svn: 184196
|
| |
|
|
|
|
|
|
| |
in addition of receiver having static type, but also when
receiver has dynamic type (of 'id' variety) as well as when
receiver is of 'Class' type vareity. // rdar://7853549
llvm-svn: 184195
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To make it possible for replacements made to headers as part of transforming
one translation unit to not be visible to the transform of other translation
units, Transform now handles replacement application as part of its
end-of-source handling. Several things were simplified as a result:
- The duplicated code in every transform for applying replacements is now gone
and replaced with one location in Transform.
- RefactoringTool is no longer used since Transform houses the Replacements
structure.
- RewriterContainer is now a private implementation detail of Transform (also
renamed to RewriterManager since its behaviour is slightly different now with
respect to lifetime of objects).
- There's now no distinction between input and output file state.
Misc notes:
- Interface changes reflected in unit tests.
- Replacements for files other than the main file are assumed to be for headers
and stored as such.
llvm-svn: 184194
|
| |
|
|
| |
llvm-svn: 184193
|
| |
|
|
|
|
|
| |
The CMake build was still using it because I forgot to s/CLANG/LLVM/ in
the tablegen() call. The Makefile build is already using llvm-tblgen.
llvm-svn: 184192
|
| |
|
|
| |
llvm-svn: 184191
|
| |
|
|
| |
llvm-svn: 184190
|
| |
|
|
| |
llvm-svn: 184189
|
| |
|
|
| |
llvm-svn: 184188
|
| |
|
|
| |
llvm-svn: 184187
|
| |
|
|
|
|
|
| |
This allows the compiler to see the enum and warn about it. While in here,
fix a switch to not use a default and fix style violations.
llvm-svn: 184186
|
| |
|
|
| |
llvm-svn: 184185
|
| |
|
|
|
|
|
| |
They are actually the same, but ext2_fs.h header is not available in userspace
with newer kernels.
llvm-svn: 184184
|
| |
|
|
|
|
|
|
|
|
| |
Replace hardcoded ioctl request ids with symbolic names.
Disable certain ioctls on platforms where such names are not found in the
system headers.
Fix a bug in ioctl_lookup.
Reenable ioctl test on Mac.
llvm-svn: 184183
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When using a positive offset, literal loads where encoded
as if it was negative, because:
- The sign bit was not assigned to an operand
- The addrmode_imm12 operand was not encoding the sign bit correctly
This patch also makes the assembler look at the .w/.n specifier for
loads.
llvm-svn: 184182
|
| |
|
|
| |
llvm-svn: 184181
|
| |
|
|
|
|
|
|
| |
This fixes two previous issues:
- Negative offsets were not correctly disassembled
- The decoded opcodes were not the right one
llvm-svn: 184180
|
| |
|
|
| |
llvm-svn: 184179
|
| |
|
|
| |
llvm-svn: 184178
|
| |
|
|
| |
llvm-svn: 184177
|
| |
|
|
| |
llvm-svn: 184176
|
| |
|
|
|
|
|
|
|
| |
Someone may want to do something crazy, like replace these objects if they
change or something.
No functionality change intended.
llvm-svn: 184175
|
| |
|
|
| |
llvm-svn: 184174
|
| |
|
|
| |
llvm-svn: 184173
|
| |
|
|
| |
llvm-svn: 184172
|
| |
|
|
|
|
|
|
| |
Some embedded targets use ARM's AAPCS with iOS header files that define size_t
as unsigned long, which conflicts with the usual AAPCS definition of size_t
as unsigned int.
llvm-svn: 184171
|
| |
|
|
|
|
|
|
|
|
| |
removed when obsolete.
These APIs are still used, and the constant APIs are actually really important.
Removing these makes -Wdocumentation more useful.
llvm-svn: 184170
|
| |
|
|
| |
llvm-svn: 184169
|
| |
|
|
| |
llvm-svn: 184168
|
| |
|
|
| |
llvm-svn: 184167
|
| |
|
|
| |
llvm-svn: 184166
|
| |
|
|
| |
llvm-svn: 184165
|
| |
|
|
| |
llvm-svn: 184164
|
| |
|
|
|
|
|
| |
Only add the — (double dash) separator to a command syntax if it has any options to be separated from arguments
Also remove the unused Translate() method from CommandObject
llvm-svn: 184163
|
| |
|
|
| |
llvm-svn: 184162
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A bug in libObject will cause it to assert() if a symbol table's string
table and the section header string table are the same section, so we
need to ensure that we emit two different string tables (among other
things). The problematic code is the hardcoded usage of ".strtab"
(`dot_strtab_sec`) for looking up symbol names in
ELFObjectFile<ELFT>::getSymbolName.
I discussed this with Michael, and he has some local improvements to the
ELF code in libObject that, among other things, should fix our handling
of this scenario.
llvm-svn: 184161
|
| |
|
|
|
|
|
|
|
|
|
|
| |
I was spotting garbage in the output. I'd like to just zero the entire
ELFYAML::Section to be sure, but it contains non-POD types. (I'm also
trying to avoid bloating the ELFYAML::Foo classes with a bunch of
constructor code).
No test, since this is by its very nature unpredictable. I'm pretty sure
that one of the sanitizers would catch it immediately though.
llvm-svn: 184160
|
| |
|
|
|
|
|
|
|
|
| |
solutions.
The first two questions I have added explanations and answers to are:
- File and line breakpoints are not getting hit
- How do I check if I have debug symbols?
llvm-svn: 184159
|
| |
|
|
|
|
|
|
| |
Allow “command script import” to work with folder names that have a ‘ (tick) in them
Kudos to StackOverflow (question 1494399) for the replace_all code!
llvm-svn: 184158
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
between a block assignment and the entry of the block function. In reality
this wouldn't work anyway because blocks are predominantly created
on-the-fly inside of an ObjC method invocation.
The proper fix for the ambiguity is to use -gcolumn-info to differentiate
the breakpoints.
This is expected to break some block-related darwin-gdb tests.
rdar://problem/14039866
llvm-svn: 184157
|
| |
|
|
| |
llvm-svn: 184155
|