| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This adds support for the cvttss2si/cvttsd2si intrinsics. Preceding
insertelement instructions are folded into the conversion instruction (if
possible).
llvm-svn: 210870
|
|
|
|
| |
llvm-svn: 210869
|
|
|
|
| |
llvm-svn: 210868
|
|
|
|
|
|
| |
This fixes the build with with newer LLVM.
llvm-svn: 210867
|
|
|
|
| |
llvm-svn: 210866
|
|
|
|
| |
llvm-svn: 210865
|
|
|
|
|
|
|
|
|
|
|
| |
(lldb) file /bin/ls
(lldb) b malloc
(lldb) run
(lldb) process save-core /tmp/ls.core
Each ObjectFile plug-in now has the option to save core files by registering a new static callback.
llvm-svn: 210864
|
|
|
|
|
|
|
| |
Add branch weights to branch instructions, so that the following passes can
optimize based on it (i.e. basic block ordering).
llvm-svn: 210863
|
|
|
|
| |
llvm-svn: 210862
|
|
|
|
|
|
|
|
| |
so we can use initializer lists for the ARMSubtarget and then
use this to initialize a moved DataLayout on the subtarget from
the TargetMachine.
llvm-svn: 210861
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previous algorithm for constructing [Address ranges]->[Compile Units]
mapping was wrong. It somewhat relied on the assumption that address ranges
for different compile units may not overlap. It is not so.
For example, two compile units may contain the definition of the same
linkonce_odr function. These definitions will be merged at link-time,
resulting in equivalent .debug_ranges entries for both these units
Instead of sorting and merging original address ranges (from .debug_ranges
and .debug_aranges), implement a different approach: save endpoints
of all ranges, and then use a sweep-line approach to construct
the desired mapping. If we find that certain address maps to
several compilation units, we just pick any of them.
llvm-svn: 210860
|
|
|
|
|
|
|
| |
DAG has access to the subtarget and TargetSelectionDAGInfo only
needs a DataLayout.
llvm-svn: 210859
|
|
|
|
|
|
|
|
| |
This commit adds MachineMemOperands to load and store instructions. This allows
the peephole optimizer to fold load instructions. Unfortunatelly the peephole
optimizer currently doesn't run at -O0.
llvm-svn: 210858
|
|
|
|
|
|
| |
This reverts commit 0bd40d6c3da6719fecf77038673d453ff1eab25b.
llvm-svn: 210857
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
'sizeof' is a UnaryExprOrTypeTrait, and it can contain either a type or
an expression. This change threads a RecoveryTSI parameter through the
layers between TransformUnaryExprOrTypeTrait the point at which we look
up the type. If lookup finds a single type result after instantiation,
we now build TypeSourceInfo for it just like a normal transformation
would.
This fixes the last error in the hello world ATL app that I've been
working with, and it now links and runs with clang. Please try it and
file bugs!
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4108
llvm-svn: 210855
|
|
|
|
|
|
| |
subtarget.
llvm-svn: 210854
|
|
|
|
|
|
| |
since that's all it needs.
llvm-svn: 210853
|
|
|
|
| |
llvm-svn: 210852
|
|
|
|
| |
llvm-svn: 210851
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we would do the access check from the context of
MarkVTableUsed.
Also update this test to C++11, since that is typically used with the MS
C++ ABI.
Fixes PR20005.
llvm-svn: 210850
|
|
|
|
| |
llvm-svn: 210849
|
|
|
|
|
|
| |
Also remove an extra local subtarget in the initialization functions.
llvm-svn: 210848
|
|
|
|
| |
llvm-svn: 210847
|
|
|
|
|
|
|
| |
WenHan Gu pointed out this bug that results in an assert
not being effective in some cases.
llvm-svn: 210846
|
|
|
|
|
|
|
| |
Needed to migrate a few functions around to avoid circular header
dependencies.
llvm-svn: 210845
|
|
|
|
|
|
|
| |
the subtarget. Also remove unnecessary argument to the constructor
at the same time, we already have access via the subtarget.
llvm-svn: 210844
|
|
|
|
| |
llvm-svn: 210843
|
|
|
|
| |
llvm-svn: 210842
|
|
|
|
|
|
| |
this error!
llvm-svn: 210841
|
|
|
|
| |
llvm-svn: 210840
|
|
|
|
| |
llvm-svn: 210839
|
|
|
|
| |
llvm-svn: 210838
|
|
|
|
| |
llvm-svn: 210837
|
|
|
|
|
|
| |
replace with the current subtarget.
llvm-svn: 210836
|
|
|
|
|
|
| |
This should make sure that most new uses use the std prefix.
llvm-svn: 210835
|
|
|
|
| |
llvm-svn: 210834
|
|
|
|
| |
llvm-svn: 210833
|
|
|
|
| |
llvm-svn: 210832
|
|
|
|
| |
llvm-svn: 210831
|
|
|
|
|
|
| |
Hopefully this forces cmake to re-run.
llvm-svn: 210830
|
|
|
|
| |
llvm-svn: 210829
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable value forwarding for loads from `calloc()` without an intervening
store.
This change extends GVN to handle the following case:
%1 = tail call noalias i8* @calloc(i64 1, i64 4)
%2 = bitcast i8* %1 to i32*
; This load is trivially constant zero
%3 = load i32* %2, align 4
This is analogous to the handling for `malloc()` in the same places.
`malloc()` returns `undef`; `calloc()` returns a zero value. Note that
it is correct to return zero even for out of bounds GEPs since the
result of such a GEP would be undefined.
Patch by Philip Reames!
llvm-svn: 210828
|
|
|
|
|
|
|
|
|
| |
Delete all unused ones, and add new AMDGPU named intrinsics for
the ones that are. Handle the old AMDIL names for comptability (although
remove their GCCBuiltin names) and add tests since there weren't any
for these before.
llvm-svn: 210827
|
|
|
|
|
|
|
|
|
|
| |
1. Having "get started", "get involved", and "hacking" makes it hard to find
how to send patches, so add a link from "get involved" to "hacking".
2. Remove an almost 5 year old note on the test running meachanism changing
soon.
3. Let "hacking" link to the LLVM developer policy.
llvm-svn: 210826
|
|
|
|
|
|
| |
Tested with llvm 3.4 and trunk.
llvm-svn: 210825
|
|
|
|
| |
llvm-svn: 210824
|
|
|
|
|
|
|
|
|
|
|
| |
to call themselves will get the warning:
"Capturing <itself> strongly in this block is likely to
lead to a retain cycle". Cut down on the amount of noise
by noticing that user at some point sets the captured variable
to null in order to release it (and break the cycle).
// rdar://16944538
llvm-svn: 210823
|
|
|
|
|
|
|
|
| |
the initializeSubtargetDependencies code to obtain an initialized
subtarget and migrate a couple of subtarget using functions to the
.cpp file to avoid circular includes.
llvm-svn: 210822
|
|
|
|
| |
llvm-svn: 210821
|
|
|
|
| |
llvm-svn: 210820
|