Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.

Update to r211349 #9

Closed
wants to merge 157 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
d0dbed1
tools: Add a space between package version and LLVM_VERSION_INFO
bogner Jun 17, 2014
feacf82
Support: Inject LLVM_VERSION_INFO into the Support library
bogner Jun 17, 2014
792a173
[msan] Fix handling of multiplication by a constant with a number of …
eugenis Jun 17, 2014
9f27b05
ConvertUTF tests: remove uses of initializer lists to restore compati…
gribozavr Jun 17, 2014
3a001aa
[msan] Fix a comment.
eugenis Jun 17, 2014
c22960d
AArch64: estimate inline asm length during branch relaxation
TNorthover Jun 17, 2014
fc6e030
Fix memory leak of RegScavenger accidentally added in r211037.
Jun 17, 2014
3b2a256
Move SetTheory from utils/TableGen into lib/TableGen so Clang can use…
Jun 17, 2014
199da60
Fixed jump threading going to infinite loop.
dkdwivedi Jun 17, 2014
1d5ff6b
[FastISel][X86] Fix previous refactoring commit (r211077)
ributzka Jun 17, 2014
41bfd78
R600/SI: Re-initialize the m0 register after using it for indirect ad…
tstellarAMD Jun 17, 2014
bae98b1
SelectionDAG: Expand i64 = FP_TO_SINT i32
tstellarAMD Jun 17, 2014
ff8dc48
R600/SI: Add a pattern for llvm.AMDGPU.barrier.global
tstellarAMD Jun 17, 2014
f56e767
R600: Use LDS and vectors for private memory
tstellarAMD Jun 17, 2014
b5a9102
mark the old jit tests as unsupported for powerpc64 (for cmake)
willschm Jun 17, 2014
62e378b
R600/SI: Match ctlz_zero_undef
arsenm Jun 17, 2014
3f1f259
R600/SI: Match cttz_zero_undef
arsenm Jun 17, 2014
acc5e81
Add "-format darwin" to llvm-size to be like darwin's size(1) -m outp…
enderby Jun 17, 2014
476fd7c
Merge lib/Support/WindowsError.cpp into ib/Support/ErrorHandling.cpp.
espindola Jun 17, 2014
4a5916a
lit: simplify population of the actual_inputs array
zmodem Jun 17, 2014
540fe7f
R600/SI: Make sure target flags are set on pseudo VOP3 instructions
tstellarAMD Jun 17, 2014
97a66e6
Remove more occurrences of the unused-mutex-parameter pattern.
Jun 17, 2014
e8cb2ee
[FastISel][X86] Optimize predicates and fold CMP instructions.
ributzka Jun 17, 2014
41b3329
Allow X86FastIsel to cope with 64 bit absolute relocations
lgerbarg Jun 17, 2014
868e579
Add the coverage cflags to the link step as well to make sure
echristo Jun 17, 2014
10d664f
Replace some assert(0)'s with llvm_unreachable.
topperc Jun 18, 2014
74287ec
[AArch64] Fix a pattern match failure caused by creating improper CON…
Jun 18, 2014
1d04a23
Random Number Generator (llvm)
jfbastien Jun 18, 2014
02b4e6e
Revert "Random Number Generator (llvm)"
jfbastien Jun 18, 2014
42469f6
[llvm-readobj][ELF] New `-mips-plt-got` command line option to output
atanasyan Jun 18, 2014
4f05d1d
[llvm-readobj] Fix compile error.
atanasyan Jun 18, 2014
ef592db
[llvm-readobj] Fix member functions name style.
atanasyan Jun 18, 2014
5393254
DAG: move sret demotion into most basic LowerCallTo implementation.
TNorthover Jun 18, 2014
fc72762
[msan] Handle X86 *.psad.* and *.pmadd.* intrinsics.
eugenis Jun 18, 2014
a64058f
R600: Implement 64bit SHL
jvesely Jun 18, 2014
2d06e73
R600: Implement 64bit SRL
jvesely Jun 18, 2014
c32d52d
R600: Implement 64bit SRA
jvesely Jun 18, 2014
dd9e510
[mips] Remove the last usage of parseRegister from MipsAsmParser.
Jun 18, 2014
86f9d29
[mips] Implement alias for 'and' and 'or' instructions for all ISAs.
Jun 18, 2014
20887ff
[mips] Update MipsAsmParser so that it's possible to handle immediate…
Jun 18, 2014
c52345c
Add pattern for unsigned v4i32->v4f64 convert on AVX512.
mcinally Jun 18, 2014
7047ad9
[mips] Access $at only if necessary.
Jun 18, 2014
f3a4a4b
[mips][mips64r6] Add BLTC and BLTUC instructions
Jun 18, 2014
cacc062
[mips] Report correct location when "erroring" about the use of $at w…
Jun 18, 2014
c39b18b
[mips] Fix expansion of memory operation if destination register is n…
Jun 18, 2014
3fbbe94
Support LE in RelocVisitor::visitELF_PPC64_*
uweigand Jun 18, 2014
b7074b8
[PowerPC] Fix emitting instruction pairs on LE
uweigand Jun 18, 2014
aa6a13a
Do not XFAIL test/tools/llvm-cov tests on powerpc64le
uweigand Jun 18, 2014
336da8c
[PowerPC] Do not use BLA with the 64-bit SVR4 ABI
uweigand Jun 18, 2014
7fc6959
[X86] AVX512: Specify compressed displacement for vmovntdqa
anemet Jun 18, 2014
f1b790f
[X86] AVX512: Add non-temporal stores
anemet Jun 18, 2014
3de1bed
R600/SI: Comparisons set vcc.
arsenm Jun 18, 2014
f7aa5f9
R600/SI: Temporary fix for f64 fneg
arsenm Jun 18, 2014
a5395c0
R600: Custom lower f64 frint for pre-CI
arsenm Jun 18, 2014
debd831
R600: Implement f64 ftrunc, ffloor and fceil.
arsenm Jun 18, 2014
a841620
Fix a memory leak in the error path.
espindola Jun 18, 2014
95f1fa7
[mips] SYNC $stype instruction was added in Mips32
Jun 18, 2014
795ae86
R600/SI: Prettier operand printing for 64-bit ops.
arsenm Jun 18, 2014
2b6e6fc
R600/SI: Add intrinsics for brev instructions
arsenm Jun 18, 2014
5d5ddf9
Add a triple so that right syntax is choosen on mac osx systems
aschwaighofer Jun 18, 2014
496e7ea
[PowerPC] Add back test case for absolute calls (removed in r211174)
uweigand Jun 18, 2014
4380c61
Work around ridiculous warning.
arsenm Jun 18, 2014
0c57bab
[PowerPC] Simplify and improve loading into TOC register
uweigand Jun 18, 2014
52b6c2d
R600: Expand vector fceil
jvesely Jun 18, 2014
7ec69f6
ADT: correct typo in comment
emaste Jun 18, 2014
de04c48
[ARM] [MC] Refactor the constant pool classes
Jun 18, 2014
8252de6
ProfileData: Fix copy-paste type in RawInstrProfReader
bogner Jun 18, 2014
8dfacbc
Run clang-format in a small chunk of code I am about to change.
espindola Jun 18, 2014
75b56dc
Update to the latest registered ELF e_machine names and values.
espindola Jun 18, 2014
ffbd906
[PowerPC] Remove unnecessary load of r12 in indirect call
uweigand Jun 18, 2014
ec2d823
Simply test for available locations in optimization remarks.
Jun 18, 2014
cc21bbd
Remove BitcodeReader::setBufferOwned.
espindola Jun 18, 2014
d681e31
Change IRObjectFile to parse the bitcode lazily.
espindola Jun 18, 2014
fff95d5
Make getBaseObject static.
espindola Jun 18, 2014
b279154
Revert a C API difference that I incorrectly introduced.
espindola Jun 18, 2014
1f502bd
Replace Execution Engine's mutex with std::recursive_mutex.
Jun 18, 2014
791ff5a
MCAsmParser: full support for gas' '.if{cond} expression' directives
compnerd Jun 18, 2014
8890694
MC: do not add comment string to the AsmToken in AsmLexer::LexLineCom…
compnerd Jun 18, 2014
d8fc64e
Simplify code.
espindola Jun 18, 2014
6c59006
Add a symbols() range and use a range loop.
espindola Jun 18, 2014
311ea12
Use LL suffix for literal that should be 64-bits.
arsenm Jun 18, 2014
f286d63
R600/SI: add gather4 and getlod intrinsics (v3)
Jun 18, 2014
ce09bda
R600: Handle fnearbyint
arsenm Jun 18, 2014
fb2b9fb
Teach llvm-size to know about Mach-O universal files (aka fat files) and
enderby Jun 18, 2014
2ea6d93
Use stdint macros for specifying size of constants
arsenm Jun 18, 2014
887a5c7
Move ARMJITInfo off of the TargetMachine and down onto the subtarget.
echristo Jun 18, 2014
1260b84
PR10140 - StringPool's PooledStringPtr has non-const operator== causi…
popizdeh Jun 19, 2014
dd8406a
Fix breakage from r211244 by using LLVM_EXPLICIT to avoid using expli…
dwblaikie Jun 19, 2014
d9b3543
R600/SI: Add intrinsics for various math instructions.
arsenm Jun 19, 2014
f9ec8fe
MS asm: Properly handle quoted symbol names
majnemer Jun 19, 2014
bdb4aca
Remove redundant code in InstCombineShift, no functionality change be…
nlewycky Jun 19, 2014
650b6ea
Make instsimplify's analysis of icmp eq/ne use computeKnownBits to de…
nlewycky Jun 19, 2014
fe3a219
Move optimization of some cases of (A & C1)|(B & C2) from instcombine…
nlewycky Jun 19, 2014
64429ce
R600: Add a few tests I forgot to add.
arsenm Jun 19, 2014
bd01df2
Convert some assert(0) to llvm_unreachable or fold an 'if' condition …
topperc Jun 19, 2014
e793899
80-column fixups.
echristo Jun 19, 2014
054bd5d
Remove unnecessary include.
echristo Jun 19, 2014
179bb4e
Move -dwarf-version to an MC level command line option so it's
echristo Jun 19, 2014
6c2e887
InstCombine: Stop two transforms dueling
majnemer Jun 19, 2014
ba928e2
Remove OwningPtr.h and associated tests
atoker Jun 19, 2014
c28beb2
CommandLine: bail out when options get multiply registered
atoker Jun 19, 2014
8317509
Refactored and updated SimplifyUsingDistributiveLaws() to
dkdwivedi Jun 19, 2014
cfdf805
[X86] Teach how to combine horizontal binop even in the presence of u…
adibiagio Jun 19, 2014
85386a3
Added instruction combine to transform few more negative values addit…
dkdwivedi Jun 19, 2014
dc9bdcc
Updated comments as suggested by Rafael. Thanks.
dkdwivedi Jun 19, 2014
2710772
[mips] Small update to the logic behind the expansion of assembly pse…
Jun 19, 2014
7e40983
[mips] Implementation of dli.
Jun 19, 2014
bb804ee
Emit DWARF3 call frame information when DWARF3+ debug info is requested
ostannard Jun 19, 2014
591f9ee
Emit DWARF info for all code section in an assembly file
ostannard Jun 19, 2014
761f331
Kill the LLVM global lock.
Jun 19, 2014
b7509c6
Tests for r211273
ostannard Jun 19, 2014
e4d0a5e
[ValueTracking] Extend range metadata to call/invoke
Jun 19, 2014
36a3211
MCNullStreamer: assign file IDs to resolve crashes and errors
atoker Jun 19, 2014
6072096
DebugInfo: Fission: Ensure the address pool entries for location list…
dwblaikie Jun 19, 2014
a4d0ff9
Remove support for LLVM runtime multi-threading.
Jun 19, 2014
ab19aae
Fix build on non-Windows platforms.
Jun 19, 2014
9022b9a
Remove circular header reference in Threading.h/Mutex.h
dwblaikie Jun 19, 2014
f25c201
Remove use of removed function, llvm_stop_multithreading
dwblaikie Jun 19, 2014
cadf0f6
Relax this test a bit, we don't need the full contents of the
echristo Jun 19, 2014
01ccb9c
Use the c++ APIs.
espindola Jun 19, 2014
580a14f
Remove unused includes following r211294
atoker Jun 19, 2014
74fc19e
Fix this test a little harder - use llc_dwarf to make sure we don't
echristo Jun 19, 2014
5b45c5d
Turn of -Werror by default
greened Jun 19, 2014
30db0c2
Add option to keep flavor out of the install directory
greened Jun 19, 2014
581d5d5
Remove bogus configure check
greened Jun 19, 2014
f21de94
Support: Add llvm::sys::fs::copy_file
bogner Jun 19, 2014
d06976a
Fix typos
atoker Jun 19, 2014
d308c35
Remove an incorrect fixme.
espindola Jun 19, 2014
edd372a
Fix up a few formatting issues.
echristo Jun 19, 2014
594f05c
Since we're using DW_AT_string rather than DW_AT_strp for debug_info
echristo Jun 19, 2014
4110a7a
Add StringMap::insert(pair) consistent with the standard associative …
dwblaikie Jun 19, 2014
e0d89ff
Include Threading.h instead of forward declaring a function.
Jun 19, 2014
d2f9358
Add a new subtarget hook for whether or not we'd like to enable
echristo Jun 19, 2014
0b5745a
Use lib/LTO directly in the gold plugin.
espindola Jun 19, 2014
c28016e
Change the output of llvm-nm and llvm-size for Mach-O universal files…
enderby Jun 19, 2014
9eb38b2
Set missing options in LTOCodeGenerator::setTargetOptions.
espindola Jun 19, 2014
474f223
Reduce indentation. No functionality change.
espindola Jun 19, 2014
5c2871c
Use the assignment operator.
espindola Jun 19, 2014
7c9dcfb
Simplify. No functionality change.
espindola Jun 19, 2014
f7b992b
Fix the output of llvm-nm for Mach-O files to use the characters ‘d’ …
enderby Jun 19, 2014
f38fdf1
Set gold plugin options in a sane order.
espindola Jun 19, 2014
2ae686a
The gold plugin doesn't need disassemblers.
espindola Jun 19, 2014
d1e6461
Added the -m option as an alias for -format=darwin to llvm-nm and llv…
enderby Jun 20, 2014
6fda71e
Revert "Add StringMap::insert(pair) consistent with the standard asso…
espindola Jun 20, 2014
160dcf5
Don't build switch lookup tables for dllimport or TLS variables
zmodem Jun 20, 2014
c577e71
[x86] Make the x86 PACKSSWB, PACKSSDW, PACKUSWB, and PACKUSDW
chandlerc Jun 20, 2014
16e592a
Support: Write ScaledNumbers::getRounded()
dexonsmith Jun 20, 2014
caa2bd6
Fix .cpp files claiming to be header files
zmodem Jun 20, 2014
8483dac
Small clanups:
espindola Jun 20, 2014
5cf3938
Support: Write ScaledNumbers::getAdjusted()
dexonsmith Jun 20, 2014
af08b8b
Support: Clean up getRounded() tests
dexonsmith Jun 20, 2014
d2ce939
Add Support to Recognize and Vectorize NON SIMD instructions in SLPVe…
kvbhat Jun 20, 2014
14d8c9e
ArgList: use MakeArgList overloads in subclasses and clean up some ca…
bogner Jun 20, 2014
7d1f779
R600: Trivial subtarget feature cleanups.
arsenm Jun 20, 2014
a5efeb6
ps][mips64r6] Added LSA/DLSA instructions
Jun 20, 2014
e5241cc
Emit the ARM build attributes ABI_PCS_wchar_t and ABI_enum_size.
ostannard Jun 20, 2014
c995fb2
Add getPassInfo() function to llvm::Pass
c-a Dec 24, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions Makefile.rules
Original file line number Diff line number Diff line change
Expand Up @@ -377,6 +377,7 @@ ifeq ($(ENABLE_COVERAGE),1)
BuildMode := $(BuildMode)+Coverage
CXX.Flags += -ftest-coverage -fprofile-arcs
C.Flags += -ftest-coverage -fprofile-arcs
LD.Flags += -ftest-coverage -fprofile-arcs
endif

# If DISABLE_ASSERTIONS=1 is specified (make command line or configured),
Expand Down
52 changes: 45 additions & 7 deletions docs/LangRef.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2749,11 +2749,12 @@ number representing the maximum relative error, for example:
'``range``' Metadata
^^^^^^^^^^^^^^^^^^^^

``range`` metadata may be attached only to loads of integer types. It
expresses the possible ranges the loaded value is in. The ranges are
represented with a flattened list of integers. The loaded value is known
to be in the union of the ranges defined by each consecutive pair. Each
pair has the following properties:
``range`` metadata may be attached only to ``load``, ``call`` and ``invoke`` of
integer types. It expresses the possible ranges the loaded value or the value
returned by the called function at this call site is in. The ranges are
represented with a flattened list of integers. The loaded value or the value
returned is known to be in the union of the ranges defined by each consecutive
pair. Each pair has the following properties:

- The type must match the type loaded by the instruction.
- The pair ``a,b`` represents the range ``[a,b)``.
Expand All @@ -2771,8 +2772,9 @@ Examples:

%a = load i8* %x, align 1, !range !0 ; Can only be 0 or 1
%b = load i8* %y, align 1, !range !1 ; Can only be 255 (-1), 0 or 1
%c = load i8* %z, align 1, !range !2 ; Can only be 0, 1, 3, 4 or 5
%d = load i8* %z, align 1, !range !3 ; Can only be -2, -1, 3, 4 or 5
%c = call i8 @foo(), !range !2 ; Can only be 0, 1, 3, 4 or 5
%d = invoke i8 @bar() to label %cont
unwind label %lpad, !range !3 ; Can only be -2, -1, 3, 4 or 5
...
!0 = metadata !{ i8 0, i8 2 }
!1 = metadata !{ i8 255, i8 2 }
Expand Down Expand Up @@ -3144,6 +3146,42 @@ Each individual option is required to be either a valid option for the target's
linker, or an option that is reserved by the target specific assembly writer or
object file emitter. No other aspect of these options is defined by the IR.

C type width Module Flags Metadata
----------------------------------

The ARM backend emits a section into each generated object file describing the
options that it was compiled with (in a compiler-independent way) to prevent
linking incompatible objects, and to allow automatic library selection. Some
of these options are not visible at the IR level, namely wchar_t width and enum
width.

To pass this information to the backend, these options are encoded in module
flags metadata, using the following key-value pairs:

.. list-table::
:header-rows: 1
:widths: 30 70

* - Key
- Value

* - short_wchar
- * 0 --- sizeof(wchar_t) == 4
* 1 --- sizeof(wchar_t) == 2

* - short_enum
- * 0 --- Enums are at least as large as an ``int``.
* 1 --- Enums are stored in the smallest integer type which can
represent all of its values.

For example, the following metadata section specifies that the module was
compiled with a ``wchar_t`` width of 4 bytes, and the underlying type of an
enum is the smallest type which can represent all of its values::

!llvm.module.flags = !{!0, !1}
!0 = metadata !{i32 1, metadata !"short_wchar", i32 1}
!1 = metadata !{i32 1, metadata !"short_enum", i32 0}

.. _intrinsicglobalvariables:

Intrinsic Global Variables
Expand Down
50 changes: 4 additions & 46 deletions docs/ProgrammersManual.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2170,67 +2170,25 @@ compiler, consider compiling LLVM and LLVM-GCC in single-threaded mode, and
using the resultant compiler to build a copy of LLVM with multithreading
support.

.. _startmultithreaded:

Entering and Exiting Multithreaded Mode
---------------------------------------

In order to properly protect its internal data structures while avoiding
excessive locking overhead in the single-threaded case, the LLVM must intialize
certain data structures necessary to provide guards around its internals. To do
so, the client program must invoke ``llvm_start_multithreaded()`` before making
any concurrent LLVM API calls. To subsequently tear down these structures, use
the ``llvm_stop_multithreaded()`` call. You can also use the
``llvm_is_multithreaded()`` call to check the status of multithreaded mode.

Note that both of these calls must be made *in isolation*. That is to say that
no other LLVM API calls may be executing at any time during the execution of
``llvm_start_multithreaded()`` or ``llvm_stop_multithreaded``. It is the
client's responsibility to enforce this isolation.

The return value of ``llvm_start_multithreaded()`` indicates the success or
failure of the initialization. Failure typically indicates that your copy of
LLVM was built without multithreading support, typically because GCC atomic
intrinsics were not found in your system compiler. In this case, the LLVM API
will not be safe for concurrent calls. However, it *will* be safe for hosting
threaded applications in the JIT, though :ref:`care must be taken
<jitthreading>` to ensure that side exits and the like do not accidentally
result in concurrent LLVM API calls.

.. _shutdown:

Ending Execution with ``llvm_shutdown()``
-----------------------------------------

When you are done using the LLVM APIs, you should call ``llvm_shutdown()`` to
deallocate memory used for internal structures. This will also invoke
``llvm_stop_multithreaded()`` if LLVM is operating in multithreaded mode. As
such, ``llvm_shutdown()`` requires the same isolation guarantees as
``llvm_stop_multithreaded()``.

Note that, if you use scope-based shutdown, you can use the
``llvm_shutdown_obj`` class, which calls ``llvm_shutdown()`` in its destructor.
deallocate memory used for internal structures.

.. _managedstatic:

Lazy Initialization with ``ManagedStatic``
------------------------------------------

``ManagedStatic`` is a utility class in LLVM used to implement static
initialization of static resources, such as the global type tables. Before the
invocation of ``llvm_shutdown()``, it implements a simple lazy initialization
scheme. Once ``llvm_start_multithreaded()`` returns, however, it uses
initialization of static resources, such as the global type tables. In a
single-threaded environment, it implements a simple lazy initialization scheme.
When LLVM is compiled with support for multi-threading, however, it uses
double-checked locking to implement thread-safe lazy initialization.

Note that, because no other threads are allowed to issue LLVM API calls before
``llvm_start_multithreaded()`` returns, it is possible to have
``ManagedStatic``\ s of ``llvm::sys::Mutex``\ s.

The ``llvm_acquire_global_lock()`` and ``llvm_release_global_lock`` APIs provide
access to the global lock used to implement the double-checked locking for lazy
initialization. These should only be used internally to LLVM, and only if you
know what you're doing!

.. _llvmcontext:

Achieving Isolation with ``LLVMContext``
Expand Down
13 changes: 5 additions & 8 deletions include/llvm-c/Core.h
Original file line number Diff line number Diff line change
Expand Up @@ -2848,16 +2848,13 @@ void LLVMDisposePassManager(LLVMPassManagerRef PM);
* @{
*/

/** Allocate and initialize structures needed to make LLVM safe for
multithreading. The return value indicates whether multithreaded
initialization succeeded. Must be executed in isolation from all
other LLVM api calls.
@see llvm::llvm_start_multithreaded */
/** Deprecated: Multi-threading can only be enabled/disabled with the compile
time define LLVM_ENABLE_THREADS. This function always returns
LLVMIsMultithreaded(). */
LLVMBool LLVMStartMultithreaded(void);

/** Deallocate structures necessary to make LLVM safe for multithreading.
Must be executed in isolation from all other LLVM api calls.
@see llvm::llvm_stop_multithreaded */
/** Deprecated: Multi-threading can only be enabled/disabled with the compile
time define LLVM_ENABLE_THREADS. */
void LLVMStopMultithreaded(void);

/** Check whether LLVM is executing in thread-safe mode or not.
Expand Down
2 changes: 1 addition & 1 deletion include/llvm/ADT/APSInt.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class APSInt : public APInt {
APInt::toString(Str, Radix, isSigned());
}
/// toString - Converts an APInt to a std::string. This is an inefficient
/// method, your should prefer passing in a SmallString instead.
/// method; you should prefer passing in a SmallString instead.
std::string toString(unsigned Radix) const {
return APInt::toString(Radix, isSigned());
}
Expand Down
9 changes: 9 additions & 0 deletions include/llvm/ADT/MapVector.h
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,15 @@ class MapVector {
Map.erase(Pos);
Vector.pop_back();
}

/// \brief Remove the element given by Iterator.
/// Returns an iterator to the element following the one which was removed,
/// which may be end().
typename VectorType::iterator erase(typename VectorType::iterator Iterator) {
typename MapType::iterator MapIterator = Map.find(Iterator->first);
Map.erase(MapIterator);
return Vector.erase(Iterator);
}
};

}
Expand Down
165 changes: 0 additions & 165 deletions include/llvm/ADT/OwningPtr.h

This file was deleted.

Loading