| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 203897
|
| |
|
|
| |
llvm-svn: 203896
|
| |
|
|
|
|
| |
itself.
llvm-svn: 203895
|
| |
|
|
|
|
| |
anything and there don't seem to be any in tree callers.
llvm-svn: 203894
|
| |
|
|
|
|
| |
class.
llvm-svn: 203893
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LLD fails to link symbol "_main" if the symbol is in a library file and
the library file is given as a bare argument (i.e. not with /defaultlib
option). It's because library files given as bare arguments are processed
before other libraries given with /defaultlib, so when Linker finds msvcrtd
needs a definition for "_main", the file providing the main function has
already been processed and skipped. Linker don't revisit libraries if it's
not given with /defaultlib.
To fix it this patch change the way of command line handling; files end with
".lib" are treated as if they are given with /defaultlib. I don't believe
it's 100% correct behavior but it's better than before.
llvm-svn: 203892
|
| |
|
|
| |
llvm-svn: 203891
|
| |
|
|
|
|
|
|
| |
issue in that the new MachineRegisterInfo bundle iterators didn't
dereference to the START of the bundle, while the old skipBundle()
method did.
llvm-svn: 203890
|
| |
|
|
|
|
| |
Looks like a major cause of instability on Windows is this thread-safety bug.
llvm-svn: 203889
|
| |
|
|
| |
llvm-svn: 203888
|
| |
|
|
| |
llvm-svn: 203887
|
| |
|
|
| |
llvm-svn: 203886
|
| |
|
|
|
|
|
|
|
|
|
| |
building one.
This is because the PCH is tied to the module files, if one of the module files changes or gets removed
the build system should re-build the PCH file.
rdar://16321245
llvm-svn: 203885
|
| |
|
|
|
|
| |
This option is not documented and seems weird, but yeah we need it anyway.
llvm-svn: 203884
|
| |
|
|
|
|
| |
find the MI for the bundle the MI was in. The new behaviour was failing to get the parent bundle and instead just used the MI from the MachineOperand
llvm-svn: 203883
|
| |
|
|
|
|
|
|
| |
doesn't show up as dependency of a module file.
Follow-up for rdar://15459210
llvm-svn: 203882
|
| |
|
|
|
|
|
|
| |
related information.
No functionality change.
llvm-svn: 203881
|
| |
|
|
| |
llvm-svn: 203880
|
| |
|
|
|
|
| |
http://msdn.microsoft.com/en-us/library/ms235417.aspx
llvm-svn: 203879
|
| |
|
|
|
|
|
| |
This is to make sure that the Windows-style command line tokenizer is
working as expected.
llvm-svn: 203877
|
| |
|
|
| |
llvm-svn: 203876
|
| |
|
|
|
|
|
|
| |
If the driver finds a command line option in the form of "@filename", the
option will be replaced with the content of the given file. It's an error
if a response file cannot be read.
llvm-svn: 203875
|
| |
|
|
|
|
| |
follow “expr [options] —“.
llvm-svn: 203874
|
| |
|
|
|
|
| |
terminating "--".
llvm-svn: 203873
|
| |
|
|
|
|
| |
when there is no expression following the option terminating “—“.
llvm-svn: 203872
|
| |
|
|
|
| |
Contributed-by: Sam Novak <snovak@uwsp.edu>
llvm-svn: 203871
|
| |
|
|
|
| |
Contributed-by: Sam Novak <snovak@uwsp.edu>
llvm-svn: 203869
|
| |
|
|
|
| |
Contributed-by: Sam Novak <snovak@uwsp.edu>
llvm-svn: 203868
|
| |
|
|
| |
llvm-svn: 203867
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These linkages were introduced some time ago, but it was never very
clear what exactly their semantics were or what they should be used
for. Some investigation found these uses:
* utf-16 strings in clang.
* non-unnamed_addr strings produced by the sanitizers.
It turns out they were just working around a more fundamental problem.
For some sections a MachO linker needs a symbol in order to split the
section into atoms, and llvm had no idea that was the case. I fixed
that in r201700 and it is now safe to use the private linkage. When
the object ends up in a section that requires symbols, llvm will use a
'l' prefix instead of a 'L' prefix and things just work.
With that, these linkages were already dead, but there was a potential
future user in the objc metadata information. I am still looking at
CGObjcMac.cpp, but at this point I am convinced that linker_private
and linker_private_weak are not what they need.
The objc uses are currently split in
* Regular symbols (no '\01' prefix). LLVM already directly provides
whatever semantics they need.
* Uses of a private name (start with "\01L" or "\01l") and private
linkage. We can drop the "\01L" and "\01l" prefixes as soon as llvm
agrees with clang on L being ok or not for a given section. I have two
patches in code review for this.
* Uses of private name and weak linkage.
The last case is the one that one could think would fit one of these
linkages. That is not the case. The semantics are
* the linker will merge these symbol by *name*.
* the linker will hide them in the final DSO.
Given that the merging is done by name, any of the private (or
internal) linkages would be a bad match. They allow llvm to rename the
symbols, and that is really not what we want. From the llvm point of
view, these objects should really be (linkonce|weak)(_odr)?.
For now, just keeping the "\01l" prefix is probably the best for these
symbols. If we one day want to have a more direct support in llvm,
IMHO what we should add is not a linkage, it is just a hidden_symbol
attribute. It would be applicable to multiple linkages. For example,
on weak it would produce the current behavior we have for objc
metadata. On internal, it would be equivalent to private (and we
should then remove private).
llvm-svn: 203866
|
| |
|
|
|
|
|
|
|
|
| |
operator* on the by-operand iterators to return a MachineOperand& rather than
a MachineInstr&. At this point they almost behave like normal iterators!
Again, this requires making some existing loops more verbose, but should pave
the way for the big range-based for-loop cleanups in the future.
llvm-svn: 203865
|
| |
|
|
|
|
| |
Add queues tests for when libBacktraceRecording is absent.
llvm-svn: 203864
|
| |
|
|
|
|
| |
protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203863
|
| |
|
|
|
|
|
| |
bitcast between pointers of two different address spaces if they happened to have
the same pointer size.
llvm-svn: 203862
|
| |
|
|
| |
llvm-svn: 203861
|
| |
|
|
| |
llvm-svn: 203859
|
| |
|
|
|
|
|
| |
This type now represents all the data for the DWARF line table:
directory names, file names, and the line table proper.
llvm-svn: 203858
|
| |
|
|
|
|
| |
known_extensions_end() with iterator_range known_extensions(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203857
|
| |
|
|
| |
llvm-svn: 203856
|
| |
|
|
|
|
| |
visible_extensions_end() with iterator_range visible_extensions(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203855
|
| |
|
|
|
|
| |
known_categories_end() with iterator_range known_categories(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203854
|
| |
|
|
|
|
|
|
| |
Ivan Puzyrevskiy.
Fixes PR15750. Thanks Jim and Ivan.
llvm-svn: 203853
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
iterators.
When initializing an iterator, we may have to step forward to find the first
operand that passes the current filter set. When doing that stepping, we should
always step one operand at a time, even if this is by-instr or by-bundle iterator,
as we're stepping between invalid values, so the stride doesn't make sense there.
Fixes a miscompilation of YASM on Win32 reported by Hans Wennborg. I have not
yet figured out how to reduce it to something testcase-able, because it's sensitive
to the details of how the registers get spilled.
llvm-svn: 203852
|
| |
|
|
|
|
| |
visible_categories_end() with iterator_range visible_categories(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203851
|
| |
|
|
| |
llvm-svn: 203850
|
| |
|
|
|
|
| |
with iterator_range ivars(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203849
|
| |
|
|
|
|
| |
all_referenced_protocol_begin() and all_referenced_protocol_end() with iterator_range all_referenced_protocols(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203848
|
| |
|
|
|
|
| |
protocol_loc_end() with iterator_range protocol_locs(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203847
|
| |
|
|
|
|
|
|
|
|
|
| |
This patch factors the bodies of 9 constructors out into a single initialization
method.
Reviewed By: rsmith
Differential Revision: http://llvm-reviews.chandlerc.com/D3059
llvm-svn: 203846
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
TreeTransform<...>::RebuildDependentNameType
Apparently the FIXME was overlooked when the source location information was
made available to the function.
Reviewed By: rsmith
Differential Revision: http://llvm-reviews.chandlerc.com/D3058
llvm-svn: 203845
|