| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of having multiple SectionChunks for each section (.text, .data,
.rdata and .bss), we could have one chunk writer that can emit any sections.
This patch does that -- removing all section-sepcific chunk writers and
replace them with one "generic" writer.
This change should simplify the code because it eliminates similar-but-
slightly-different classes.
It also fixes an issue in the previous design. Before this patch, we could
emit only limited set of sections (i.e. .text, .data, .rdata and .bss). With
this patch, we can emit any sections.
llvm-svn: 195797
|
| |
|
|
| |
llvm-svn: 195796
|
| |
|
|
|
|
| |
This reverts accidental commit r195794.
llvm-svn: 195795
|
| |
|
|
| |
llvm-svn: 195794
|
| |
|
|
|
|
|
|
| |
class name. I think we're no longer using any compilers with
sufficiently broken ICN for this use case, but I'll watch the bots and
introduce a typedef without a reserved name if any yell at me.
llvm-svn: 195793
|
| |
|
|
| |
llvm-svn: 195792
|
| |
|
|
|
|
|
|
| |
some of these instructions
may be removed and optimized in future iterations. Instead we save a list of basic blocks that we need to CSE.
llvm-svn: 195791
|
| |
|
|
| |
llvm-svn: 195790
|
| |
|
|
|
|
| |
instructions.
llvm-svn: 195789
|
| |
|
|
|
|
| |
instructions.
llvm-svn: 195788
|
| |
|
|
|
|
|
|
|
|
|
| |
In signed arithmetic we could end up with an i64 trip count for an i32 phi.
Because it is signed arithmetic we know that this is only defined if the i32
does not wrap. It is therefore safe to truncate the i64 trip count to a i32
value.
Fixes PR18049.
llvm-svn: 195787
|
| |
|
|
|
|
| |
/support and delete the other. Then adjust all the tests that used them to include the moved one. No functionality change.
llvm-svn: 195785
|
| |
|
|
|
|
| |
inconsistencies that I'll just need to fix myself as I edit things.
llvm-svn: 195784
|
| |
|
|
|
|
|
|
|
|
| |
doxygen comments, make existing comments doxygen comments etc.
Also, switch commented-out debug helpers to #if-0-ed out debug helpers.
No functionality changed.
llvm-svn: 195783
|
| |
|
|
| |
llvm-svn: 195782
|
| |
|
|
|
|
|
| |
The determination of when we are doing constant pools was being made too
early in the asm printer.
llvm-svn: 195781
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'm adding new functionality in the sample profiler. This will
require more data to be kept around for each function, so I moved
the structure SampleProfile that we keep for each function into
a separate class.
There are no functional changes in this patch. It simply provides
a new home where to place all the new data that I need to propagate
weights through edges.
There are some other name and minor edits throughout.
llvm-svn: 195780
|
| |
|
|
|
|
|
|
| |
- Fix bug in (vsext (vzext x)) -> (vsext x) in SIGN_EXTEND_IN_REG
lowering where we need to check whether x is a vector type (in-reg
type) of i8, i16 or i32; otherwise, that optimization is not valid.
llvm-svn: 195779
|
| |
|
|
|
|
|
|
| |
This patch adds the counter-part to DominatorTree::getDescendants.
It also fixes a couple of comments I noticed out of date in the
DominatorTree class.
llvm-svn: 195778
|
| |
|
|
| |
llvm-svn: 195777
|
| |
|
|
|
|
|
| |
Since type units aren't in the CUMap, use the DwarfUnits list to iterate
over units for tasks such as accelerator table building.
llvm-svn: 195776
|
| |
|
|
| |
llvm-svn: 195775
|
| |
|
|
|
|
|
| |
The current mapping for /section one character options is really bogus.
Map to the correct flags.
llvm-svn: 195774
|
| |
|
|
|
|
|
|
| |
we generate PHI nodes with multiple entries from the same basic block but
with different values. Enabling CSE on ExtractElement instructions make sure
that all of the RAUWed instructions are the same.
llvm-svn: 195773
|
| |
|
|
|
|
|
|
| |
Code scanner ran by Sylvestre Ledru got a no_return bug
in DebugInfo.cpp. Adding the return statements that
should be there.
llvm-svn: 195772
|
| |
|
|
|
|
|
|
|
| |
1) Don't start external symbolizer subprocess until we actually try to
symbolize anything.
2) Allow to turn off external symbolizer by providing empty ?SAN_SYMBOLIZER_PATH
environment variable.
llvm-svn: 195771
|
| |
|
|
|
|
| |
intended.
llvm-svn: 195770
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Short description.
This issue is about case of treating pointers as integers.
We treat pointers as different if they references different address space.
At the same time, we treat pointers equal to integers (with machine address
width). It was a point of false-positive. Consider next case on 32bit machine:
void foo0(i32 addrespace(1)* %p)
void foo1(i32 addrespace(2)* %p)
void foo2(i32 %p)
foo0 != foo1, while
foo1 == foo2 and foo0 == foo2.
As you can see it breaks transitivity. That means that result depends on order
of how functions are presented in module. Next order causes merging of foo0
and foo1: foo2, foo0, foo1
First foo0 will be merged with foo2, foo0 will be erased. Second foo1 will be
merged with foo2.
Depending on order, things could be merged we don't expect to.
The fix:
Forbid to treat any pointer as integer, except for those, who belong to address space 0.
llvm-svn: 195769
|
| |
|
|
|
|
| |
On a Release build this takes the testcase in pr18055 from 0m3.892s to 0m1.452s.
llvm-svn: 195768
|
| |
|
|
| |
llvm-svn: 195767
|
| |
|
|
|
|
| |
Added _WIN32 guards to new platform features. Using correct SetErrorStringWithFormat within Host when LLDB_DISABLE_POSIX is defined. Also fixed an if defined block.
llvm-svn: 195766
|
| |
|
|
|
|
| |
DwarfDebug and the style guide
llvm-svn: 195763
|
| |
|
|
|
|
| |
Apparently, not all tools display non-printable characters ;)
llvm-svn: 195761
|
| |
|
|
| |
llvm-svn: 195760
|
| |
|
|
| |
llvm-svn: 195759
|
| |
|
|
|
|
| |
review!
llvm-svn: 195757
|
| |
|
|
| |
llvm-svn: 195756
|
| |
|
|
|
|
| |
ArgList::AddLastArg() call.
llvm-svn: 195755
|
| |
|
|
| |
llvm-svn: 195754
|
| |
|
|
|
|
| |
Sourcery MIPS toolchain.
llvm-svn: 195753
|
| |
|
|
| |
llvm-svn: 195752
|
| |
|
|
|
|
|
| |
toolchain first and check the path existence. If the path does not
exist build and check a path suffix for Code Sourcery toolchain.
llvm-svn: 195751
|
| |
|
|
| |
llvm-svn: 195750
|
| |
|
|
| |
llvm-svn: 195749
|
| |
|
|
|
|
|
|
| |
happy with but GCC complains about. I'm assuming both compilers are
correct and these are optional in C++11 because I'm too tired to read
the standard. ;]
llvm-svn: 195748
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
of the two analysis managers into a CRTP base class that can be shared
and re-used in building any analysis manager. This will in turn simplify
adding yet another analysis manager to the system.
The base class provides all of the interface sugar for the analysis
manager delegating the functionality back through DerivedT methods which
operate on simple pass IDs. It also provides the pass registration,
storage, and lookup system which is common across the various
formulations of analysis managers.
llvm-svn: 195747
|
| |
|
|
|
|
|
|
|
| |
We would wrongly transform the testcase into the equivalent of an AND with 1.
The problem was that, when testing whether the shifted-in bits of the right
shift were significant, we used the width of the final zero-extended result
rather than the width of the shifted value.
llvm-svn: 195731
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
getStringSplit used to crash, when trying to split a long string
literal containing both printable and unprintable multi-byte UTF-8 characters.
Reviewers: djasper, klimek
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2268
llvm-svn: 195728
|
| |
|
|
|
|
|
|
|
|
| |
In some case, it may be required to build LLVM in C++11 mode, as some the subprojects (like lldb) requires it.
This mimics the autoconf behaviour.
However, given the discussions on the switch to C++11 of the codebase, this behaviour should evolve to default to C++11 with some checks of the compiler capabilities.
llvm-svn: 195727
|
| |
|
|
|
|
| |
dtors etc
llvm-svn: 195723
|