| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 161976
|
|
|
|
| |
llvm-svn: 161751
|
|
|
|
|
|
|
|
| |
Since the llvm::sys::fs::map_file_pages() support function it relies on
is not yet implemented on Windows, the unit tests for FileOutputBuffer
are currently conditionalized to run only on unix.
llvm-svn: 161099
|
|
|
|
| |
llvm-svn: 161085
|
|
|
|
| |
llvm-svn: 160643
|
|
|
|
| |
llvm-svn: 160317
|
|
|
|
|
|
|
|
| |
full sets.
Make it always return APInts with the same bitwidth for the same ConstantRange bitwidth to simply clients
llvm-svn: 160294
|
|
|
|
|
|
| |
the original move of IRBuilder.
llvm-svn: 160249
|
|
|
|
|
|
|
|
|
|
|
|
| |
the move of *Builder classes into the Core library.
No uses of this builder in Clang or DragonEgg I could find.
If there is a desire to have an IR-building-support library that
contains all of these builders, that can be easily added, but currently
it seems likely that these add no real overhead to VMCore.
llvm-svn: 160243
|
|
|
|
|
|
|
|
|
|
|
| |
IRBuilder, DIBuilder, etc.
This is the proper layering as MDBuilder can't be used (or implemented)
without the Core Metadata representation.
Patches to Clang and Dragonegg coming up.
llvm-svn: 160237
|
|
|
|
|
|
| |
This reverts commit b2833d9dcba88c6f0520cad760619200adc0442c.
llvm-svn: 159618
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Changed isSingleNumber method behaviour. Now this flag is calculated on demand.
IntegersSubsetMapping
- Optimized diff operation.
- Replaced type of Items field from std::list with std::map.
- Added new methods:
bool isOverlapped(self &RHS)
void add(self& RHS, SuccessorClass *S)
void detachCase(self& NewMapping, SuccessorClass *Succ)
void removeCase(SuccessorClass *Succ)
SuccessorClass *findSuccessor(const IntTy& Val)
const IntTy* getCaseSingleNumber(SuccessorClass *Succ)
IntegersSubsetTest
- DiffTest: Added checks for successors.
SimplifyCFG
Updated SwitchInst usage (now it is case-ragnes compatible) for
- SimplifyEqualityComparisonWithOnlyPredecessor
- FoldValueComparisonIntoPredecessors
llvm-svn: 159527
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was always part of the VMCore library out of necessity -- it deals
entirely in the IR. The .cpp file in fact was already part of the VMCore
library. This is just a mechanical move.
I've tried to go through and re-apply the coding standard's preferred
header sort, but at 40-ish files, I may have gotten some wrong. Please
let me know if so.
I'll be committing the corresponding updates to Clang and Polly, and
Duncan has DragonEgg.
Thanks to Bill and Eric for giving the green light for this bit of cleanup.
llvm-svn: 159421
|
|
|
|
| |
llvm-svn: 159352
|
|
|
|
| |
llvm-svn: 159319
|
|
|
|
|
|
| |
with NOT_A_NUMBER constant (0xffff).
llvm-svn: 159207
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
same time perform up to three operations:
- LHS exclude RHS
- LHS intersect RHS (LHS successors will keeped)
- RHS exclude LHS
The complexity is N+M, where
N is size of LHS
M is size of RHS.
llvm-svn: 159201
|
|
|
|
|
|
|
|
| |
universal "diff" operation in next commit.
Changes was separated onto two commits for better readability.
llvm-svn: 159200
|
|
|
|
| |
llvm-svn: 159099
|
|
|
|
| |
llvm-svn: 159098
|
|
|
|
|
|
|
|
| |
using to test the alignment support library.
Patch from Nikola on IRC.
llvm-svn: 158912
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Makefiles, the CMake files in every other part of the LLVM tree, and
sanity.
This should also restore the output tree structure of all the unit
tests, sorry for breaking that, and thanks for letting me know.
The fundamental change is to put a CMakeLists.txt file in the unittest
directory, with a single test binary produced from it. This has several
advantages:
- No more weird directory stripping in the unittest macro, allowing it
to be used more readily in other projects.
- No more directory prefixes on all the source files.
- Allows correct and precise use of LLVM's per-directory dependency
system.
- Allows use of the checking logic for source files that have not been
added to the CMake build. This uncovered a file being skipped with
CMake in LLVM and one in Clang's unit tests.
- Makes Specifying conditional compilation or other custom logic for JIT
tests easier.
It did require adding the concept of an explicit 'optional' source file
to the CMake build so that the missing-file check can skip cases where
the file is *supposed* to be missing. =]
This is another chunk of refactoring the CMake build in order to make it
usable for other clients like CompilerRT / ASan / TSan.
Note that this is interdependent with a Clang CMake change.
llvm-svn: 158909
|
|
|
|
|
|
|
|
|
|
|
| |
The TEST_F macros actually declare *subclasses* of the test fixtures.
Even if they didn't we don't want them to declare external functions.
The entire unit test, including both the fixture class and the fixture
test cases should be wrapped in the anonymous namespace.
This issue was caught by the new '-Winternal-linkage-in-inline' warning.
llvm-svn: 158798
|
|
|
|
|
|
| |
and add unit test. Unix is implemented. Windows side needs to be implemented.
llvm-svn: 158770
|
|
|
|
|
|
| |
long integer literals.
llvm-svn: 158648
|
|
|
|
|
|
| |
implementation of the class layout for the V8 type.
llvm-svn: 158640
|
|
|
|
|
|
| |
construct just for my sanity.
llvm-svn: 158637
|
|
|
|
|
|
|
|
|
| |
platforms.
Also, remove one assertion on MSVC because it produces a completely
preposterous result, claiming something needs 12-byte alignment.
llvm-svn: 158599
|
|
|
|
|
|
| |
making the bounds all '1', and chunking it a bit.
llvm-svn: 158598
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
array of a suitable size and alignment for any of a number of different
types to be stored into the character array.
The mechanisms for producing an explicitly aligned type are fairly
complex because this operation is poorly supported on all compilers.
We've spent a fairly significant amount of time experimenting with
different implementations inside of Google, and the one using explicitly
expanded templates has been the most robust.
Credit goes to Nick Lewycky for writing the first 20 versions or so of
this logic we had inside of Google. I based this on the only one to
actually survive. In case anyone is worried, yes we are both explicitly
re-contributing and re-licensing it for LLVM. =]
Once the issues with actually specifying the alignment are finished, it
turns out that most compilers don't in turn align anything the way they
are instructed. Testing of this logic against both Clang and GCC
indicate that the alignment constraints are largely ignored by both
compilers! I've come up with and used a work-around by wrapping each
alignment-hinted type directly in a struct, and using that struct to
align the character array through a union. This elaborate hackery is
terrifying, but I've included testing that caught a terrifying number of
bugs in every other technique I've tried.
All of this in order to implement a poor C++98 programmers emulation of
C++11 unrestricted unions in classes such as SmallDenseMap.
llvm-svn: 158597
|
|
|
|
|
|
|
|
| |
LLVM is now -Wunused-private-field clean except for
- lib/MC/MCDisassembler/Disassembler.h. Not sure why it keeps all those unaccessible fields.
- gtest.
llvm-svn: 158096
|
|
|
|
|
|
| |
subset of integers from current mapping.
llvm-svn: 157989
|
|
|
|
|
|
|
| |
Changed type of Items collection: from std::vector to std::list.
Also some small fixes made in IntegersSubset.h, IntegersSubsetMapping.h and IntegersSubsetTest.cpp.
llvm-svn: 157987
|
|
|
|
|
|
|
|
|
|
| |
- Fixed IntegersSubsetGeneric copy/assignment behaviour.
- Fixed IntegersSubsetGeneric::getSize/getSingleValue methods.
- Fixed IntegersSubsetGeneric::verify method.
Also IntegersSubset.h and IntegersSubsetMapping.h headers was fixed.
llvm-svn: 157887
|
|
|
|
|
|
| |
this fixes the missed optimization I was seeing in the CorrelatedValuePropagation pass
llvm-svn: 157032
|
|
|
|
| |
llvm-svn: 154930
|
|
|
|
| |
llvm-svn: 154850
|
|
|
|
|
|
|
|
|
| |
through the use of 'fpmath' metadata. Currently this only provides a 'fpaccuracy'
value, which may be a number in ULPs or the keyword 'fast', however the intent is
that this will be extended with additional information about NaN's, infinities
etc later. No optimizations have been hooked up to this so far.
llvm-svn: 154822
|
|
|
|
| |
llvm-svn: 154766
|
|
|
|
| |
llvm-svn: 153977
|
|
|
|
|
|
|
|
| |
smaller than the slab size.
This replaces r151834 with a simpler fix.
llvm-svn: 151842
|
|
|
|
|
|
| |
increase the slab size.
llvm-svn: 151834
|
|
|
|
| |
llvm-svn: 148659
|
|
|
|
|
|
|
|
| |
Diagnostics are now emitted via the SourceMgr and we use MemoryBuffer
for buffer management. Switched the code to make use of the trailing
'0' that MemoryBuffer guarantees where it makes sense.
llvm-svn: 147063
|
|
|
|
|
|
| |
http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
llvm-svn: 146960
|
|
|
|
|
|
| |
regressions.
llvm-svn: 146735
|
|
|
|
|
|
|
| |
Original commit message:
Support/FileSystem: Implement canonicalize.
llvm-svn: 146378
|
|
|
|
| |
llvm-svn: 146364
|
|
|
|
| |
llvm-svn: 146363
|
|
|
|
|
|
|
| |
end iterator.
FIXME: It should be more robust.
llvm-svn: 146294
|