| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 172854
|
| |
|
|
|
|
|
| |
Further encapsulation of the Attribute object. Don't allow direct access to the
Attribute object as an aggregate.
llvm-svn: 172853
|
| |
|
|
|
|
| |
the Attribute query methods.
llvm-svn: 172852
|
| |
|
|
|
|
| |
This is duplicated in a couple places in the codebase. Adopt this in APFloat.
llvm-svn: 172851
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
but I cannot reproduce the problem and have scrubed my sources and
even tested with llvm-lit -v --vg.
Support for Mips register information sections.
Mips ELF object files have a section that is dedicated
to register use info. Some of this information such as
the assumed Global Pointer value is used by the linker
in relocation resolution.
The register info file is .reginfo in o32 and .MIPS.options
in 64 and n32 abi files.
This patch contains the changes needed to create the sections,
but leaves the actual register accounting for a future patch.
Contributer: Jack Carter
llvm-svn: 172847
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some instructions like memory reads/writes are executed
asynchronously, so we need to insert S_WAITCNT instructions
to block before accessing their results. Previously we have
just inserted S_WAITCNT instructions after each async
instruction, this patch fixes this and adds a prober
insertion pass.
Patch by: Christian König
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
llvm-svn: 172846
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We shouldn't insert KILL optimization if we don't have a
kill instruction at all.
Patch by: Christian König
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
llvm-svn: 172845
|
| |
|
|
|
|
|
|
| |
Because the Attribute class is going to stop representing a collection of
attributes, limit the use of it as an aggregate in favor of using AttributeSet.
This replaces some of the uses for querying the function attributes.
llvm-svn: 172844
|
| |
|
|
|
|
|
|
|
|
|
| |
but I cannot reproduce the problem and have scrubed my sources and
even tested with llvm-lit -v --vg.
Removal of redundant code and formatting fixes.
Contributers: Jack Carter/Vladimir Medic
llvm-svn: 172842
|
| |
|
|
| |
llvm-svn: 172839
|
| |
|
|
|
|
| |
dependency again.
llvm-svn: 172838
|
| |
|
|
|
|
| |
- Also, fixup syntax errors in LangRef and missing newline in the MCAsmStreamer.
llvm-svn: 172837
|
| |
|
|
| |
llvm-svn: 172824
|
| |
|
|
| |
llvm-svn: 172813
|
| |
|
|
| |
llvm-svn: 172806
|
| |
|
|
|
|
| |
immediate handling. Also use MVT since this only called on legal types during pattern matching.
llvm-svn: 172797
|
| |
|
|
| |
llvm-svn: 172795
|
| |
|
|
| |
llvm-svn: 172793
|
| |
|
|
|
|
| |
== 128/256.
llvm-svn: 172792
|
| |
|
|
|
|
| |
with other code related to shuffles and easier to implement in compiled code.
llvm-svn: 172788
|
| |
|
|
| |
llvm-svn: 172784
|
| |
|
|
| |
llvm-svn: 172782
|
| |
|
|
| |
llvm-svn: 172779
|
| |
|
|
| |
llvm-svn: 172778
|
| |
|
|
| |
llvm-svn: 172777
|
| |
|
|
| |
llvm-svn: 172776
|
| |
|
|
|
|
| |
'SIZE' and 'LENGTH' operators.
llvm-svn: 172773
|
| |
|
|
| |
llvm-svn: 172759
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
self-hosted LTO build bots.
Okay, here's how to reproduce the problem:
1) Build a Release (or Release+Asserts) version of clang in the normal way.
2) Using the clang & clang++ binaries from (1), build a Release (or
Release+Asserts) version of the same sources, but this time enable LTO ---
specify the `-flto' flag on the command line.
3) Run the ARC migrator tests:
$ arcmt-test --args -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c++ ./src/tools/clang/test/ARCMT/cxx-rewrite.mm
You'll see that the output isn't correct (the whitespace is off).
The mis-compile is in the function `RewriteBuffer::RemoveText' in the
clang/lib/Rewrite/Core/Rewriter.cpp file. When that function and RewriteRope.cpp
are compiled with LTO and the `arcmt-test' executable is regenerated, you'll see
the error. When those files are not LTO'ed, then the output of the `arcmt-test'
is fine.
It is *really* hard to get a testcase out of this. I'll file a PR with what I
have currently.
--- Reverse-merging r172363 into '.':
U include/llvm/Analysis/MemoryBuiltins.h
U lib/Analysis/MemoryBuiltins.cpp
--- Reverse-merging r171325 into '.':
U test/Transforms/InstCombine/objsize.ll
G include/llvm/Analysis/MemoryBuiltins.h
G lib/Analysis/MemoryBuiltins.cpp
llvm-svn: 172756
|
| |
|
|
|
|
|
|
| |
- This code is dead, and the "right" way to get this support is to use the
platform-specific linker-integrated LTO mechanisms, or the forthcoming LLVM
linker.
llvm-svn: 172749
|
| |
|
|
|
|
|
| |
calling convention. 128-bit integers are now properly returned
in GPR3 and GPR4 on PowerPC.
llvm-svn: 172745
|
| |
|
|
|
|
| |
Part of rdar://12576868
llvm-svn: 172743
|
| |
|
|
|
|
| |
This patch fixes bug 14902 - http://llvm.org/bugs/show_bug.cgi?id=14902
llvm-svn: 172737
|
| |
|
|
| |
llvm-svn: 172736
|
| |
|
|
|
|
| |
``Visited'' Debug message to use it.
llvm-svn: 172735
|
| |
|
|
|
|
|
|
|
| |
_Complex float and _Complex long double, by simply increasing the
number of floating point registers available for return values.
The test case verifies that the correct registers are loaded.
llvm-svn: 172733
|
| |
|
|
|
|
| |
the values of shadow scale and offset to the runtime
llvm-svn: 172709
|
| |
|
|
|
|
|
|
|
|
|
|
| |
v8i8 -> v8i64,
v8i8 -> v8i32,
v4i8 -> v4i64,
v4i16 -> v4i64
for AVX and AVX2.
Bug 14865.
llvm-svn: 172708
|
| |
|
|
|
|
| |
they get instantiated together.
llvm-svn: 172704
|
| |
|
|
|
|
|
|
|
| |
changing both the string of the dwo_name to be correct and the type of
the statement list.
Testcases all around.
llvm-svn: 172699
|
| |
|
|
|
|
|
| |
emitting the dwarf32 version of DW_FORM_sec_offset and correct
disassembler support.
llvm-svn: 172698
|
| |
|
|
|
|
| |
Let targets use it.
llvm-svn: 172688
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the early if-conversion pass into this group.
ILP optimizations usually need to find the right balance between
register pressure and ILP using the MachineTraceMetrics analysis to
identify critical paths and estimate other costs. Such passes should run
together so they can share dominator tree and loop info analyses.
Besides if-conversion, future passes to run here here could include
expression height reduction and ARM's MLxExpansion pass.
llvm-svn: 172687
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
but I cannot reproduce the problem and have scrubed my sources and
even tested with llvm-lit -v --vg.
The Mips RDHWR (Read Hardware Register) instruction was not
tested for assembler or dissassembler consumption. This patch
adds that functionality.
Contributer: Vladimir Medic
llvm-svn: 172685
|
| |
|
|
| |
llvm-svn: 172659
|
| |
|
|
|
|
|
|
| |
Moving the X86CostTable to a common place, so that other back-ends
can share the code. Also simplifying it a bit and commoning up
tables with one and two types on operations.
llvm-svn: 172658
|
| |
|
|
| |
llvm-svn: 172640
|
| |
|
|
|
|
| |
return into the safe harbor of AsmParser's private areas.
llvm-svn: 172637
|
| |
|
|
|
|
|
|
|
|
| |
- Instead of computing a bunch of buckets of different flag types, just do an
incremental link resolving conflicts as they arise.
- This also has the advantage of making the link result deterministic and not
dependent on map iteration order.
llvm-svn: 172634
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AT_producer. Which includes clang's version information so we can tell
which version of the compiler was used.
This is the first of two steps to allow us to do that. This is the llvm-mc
change to provide a method to set the AT_producer string. The second step,
coming soon to a clang near you, will have the clang driver pass the value
of getClangFullVersion() via an flag when invoking the integrated assembler
on assembly source files.
rdar://12955296
llvm-svn: 172630
|