Jim Grosbach [Thu, 30 Sep 2010 01:57:53 +0000 (01:57 +0000)]
Nuke it from orbit. It's the only way to be sure.
(Kill the dead non-MC asm printer for the ARM target.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115127
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 30 Sep 2010 01:29:54 +0000 (01:29 +0000)]
Let a target specify whether it wants an assembly printer to be the MC version
or not. TableGen needs to generate the printInstruction() function as taking
an MCInstr* or a MachineInstr*, depending. Default to the old non-MC
version so that everything not yet using MC continues to just work without
fidding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115126
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 30 Sep 2010 01:12:09 +0000 (01:12 +0000)]
fix incorrect link!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115124
91177308-0d34-0410-b5e6-
96231b3b80d8
Jan Wen Voung [Thu, 30 Sep 2010 01:09:20 +0000 (01:09 +0000)]
Test commit - Deleted some whitespace at the end of a line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115122
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 30 Sep 2010 01:08:25 +0000 (01:08 +0000)]
ARM instruction itinerary fixes:
1. Cortex-a9 8-bit and 16-bit loads / stores AGU cycles are 1 cycle longer than 32-bit ones.
2. Cortex-a9 is out-of-order so model all read cycles as cycle 1.
3. Lots of other random fixes for A8 and A9.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115121
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 30 Sep 2010 00:58:35 +0000 (00:58 +0000)]
Add constant folding for strspn and strcspn to SimplifyLibCalls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115116
91177308-0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Thu, 30 Sep 2010 00:44:58 +0000 (00:44 +0000)]
Revert r114320(move file = copy + delete on Win32). r115040 is a better solution for the Win32 ACCESS_DENIED lit error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115114
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 30 Sep 2010 00:34:43 +0000 (00:34 +0000)]
add a bunch of entries for external projects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115112
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 29 Sep 2010 23:52:12 +0000 (23:52 +0000)]
Add strpbrk folding to SimplifyLibCalls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115111
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 29 Sep 2010 23:32:20 +0000 (23:32 +0000)]
Silence compiler warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115107
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 29 Sep 2010 23:31:09 +0000 (23:31 +0000)]
Revert r115099 (adding early jump threading). It's not clear if the benefits are worth the compile time cost.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115106
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 29 Sep 2010 23:11:09 +0000 (23:11 +0000)]
Refactor arm fast isel libcall handling so that pieces can be used
for generic call handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115105
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 29 Sep 2010 23:07:21 +0000 (23:07 +0000)]
Let FE mark a variable as artificial variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115102
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 29 Sep 2010 23:00:29 +0000 (23:00 +0000)]
Noticed by inspection when looking for other cmov bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115100
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 29 Sep 2010 22:57:02 +0000 (22:57 +0000)]
Early CFG simplification can fold conditionals down to selects, which is often a good thing, but it can also
hide jump threading opportunities by turning control flow into data flow. Run an early JumpThreading pass
(adds approximately an additional 1% to optimization time on SPEC), allowing it to get a shot at these cases
first. Fixes <rdar://problem/
8447345>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115099
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Sep 2010 22:42:35 +0000 (22:42 +0000)]
Model Cortex-a9 load to SUB, RSB, ADD, ADC, SBC, RSC, CMN, MVN, or CMP
pipeline forwarding path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115098
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 29 Sep 2010 22:38:50 +0000 (22:38 +0000)]
Silence msvc warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115097
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 29 Sep 2010 22:32:50 +0000 (22:32 +0000)]
trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115096
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 29 Sep 2010 22:29:12 +0000 (22:29 +0000)]
Simplify the loop in StrChrOptimizer. FileCheckize test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115095
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 29 Sep 2010 22:24:45 +0000 (22:24 +0000)]
Add a convenience variable so I'm not chasing all over looking for
a context.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115094
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 29 Sep 2010 21:50:51 +0000 (21:50 +0000)]
Teach SimplifyLibCalls how to optimize strrchr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115091
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 29 Sep 2010 21:44:16 +0000 (21:44 +0000)]
Add support to let FE encode method access specifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115089
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 29 Sep 2010 21:04:46 +0000 (21:04 +0000)]
Generalize DISubprogram element to encode various flags instead of just one boolean for isArtificial.
This is a backword compatible change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115084
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 29 Sep 2010 20:57:19 +0000 (20:57 +0000)]
UnreachableBlockElim could incorrectly return false when it had not modified the CFG, but HAD modified some PHI nodes. Fixes PR8174.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115083
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 29 Sep 2010 20:34:41 +0000 (20:34 +0000)]
Fix PR8247: JumpThreading can cause a block to become unreachable while still having predecessor, if it is part of a self-loop.
Because of this, we cannot use the Simplify* APIs, as they can assert-fail on unreachable code. Since it's not easy to determine
if a given threading will cause a block to become unreachable, simply defer simplifying simplification to later InstCombine and/or
DCE passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115082
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 29 Sep 2010 20:09:55 +0000 (20:09 +0000)]
Convert a bunch of uses of 'bytecode' into 'bitcode'. This
is not everything, but the remaining cases are less trivial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115080
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 29 Sep 2010 19:39:50 +0000 (19:39 +0000)]
Remove PointerTracking from cmakelists …
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115076
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 29 Sep 2010 19:30:17 +0000 (19:30 +0000)]
GetSourceVersion: Strip off svninfo extra markers, which aren't really part of the version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115074
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 29 Sep 2010 19:20:35 +0000 (19:20 +0000)]
Remove PointerTracking tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115072
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 29 Sep 2010 19:08:08 +0000 (19:08 +0000)]
Assign DW_ACCESS_public accessibility attribute to members by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115067
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 29 Sep 2010 19:03:54 +0000 (19:03 +0000)]
Add specializations of addrmode2 that allow differentiating those forms
which require the use of the shifter-operand. This will be used to split
the ldr/str instructions such that those versions needing the shifter operand
can get a different scheduling itenerary, as in some cases, the use of the
shifter can cause different scheduling than the simpler forms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115066
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 29 Sep 2010 18:56:57 +0000 (18:56 +0000)]
Add parens to fix GCC warning:
lib/Target/X86/X86MCCodeEmitter.cpp: 190: error: suggest parentheses around '&&' within '||'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115064
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 18:43:27 +0000 (18:43 +0000)]
remove PointerTracking from mainline, Edwin is going to move it out to ClamAV
for LLVM 2.9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115062
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 18:39:16 +0000 (18:39 +0000)]
implement rdar://
8491845 - Gas supports commuted forms of non-commutable instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115061
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 29 Sep 2010 18:05:19 +0000 (18:05 +0000)]
Revert r114919, which caused some serious regressions on ARM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115053
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 29 Sep 2010 17:57:01 +0000 (17:57 +0000)]
utils: Add GetRepositoryPath script, patch by Jonathan Mulder!
- Also, fix indention in GetSourceVersion while in the area.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115048
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 29 Sep 2010 17:54:10 +0000 (17:54 +0000)]
Increase ARM APCS preferred alignment for i64 and f64 from 32 bits to 64 bits.
LDM/STM instructions can run one cycle faster on some ARM processors if the
memory address is 64-bit aligned. Radar
8489376.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115047
91177308-0d34-0410-b5e6-
96231b3b80d8
Jason W Kim [Wed, 29 Sep 2010 17:39:29 +0000 (17:39 +0000)]
Undoing test commit blank space.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115045
91177308-0d34-0410-b5e6-
96231b3b80d8
Jason W Kim [Wed, 29 Sep 2010 17:33:42 +0000 (17:33 +0000)]
Test commit -
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115044
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 29 Sep 2010 17:32:29 +0000 (17:32 +0000)]
Add braces for legibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115043
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 29 Sep 2010 15:59:37 +0000 (15:59 +0000)]
lit: Fix a subtle resource usage bug when executing tests using the internal
shell runner.
We would inadvertently end up holding on to handles to the temporary files
longer than we should have been. On Win32, where open handles lock some file
operations, this caused problems in tests which would try to move temporary
files around (as Clang does by default now).
Many thanks to Francois Pichet for the excellent detective work on this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115040
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Wed, 29 Sep 2010 15:28:55 +0000 (15:28 +0000)]
Export LLVM_ALL_TARGETS in LLVM.cmake. It is used by LLVMConfig.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115039
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 29 Sep 2010 15:23:40 +0000 (15:23 +0000)]
One Printer to rule them all, One Printer to find them,
One Printer to lower them all and in the back end bind them.
(Remove option to use the old non-MC asm printer.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115038
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 29 Sep 2010 14:52:01 +0000 (14:52 +0000)]
Move "local commons" to the end of .bss to match the gnu as behavior.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115037
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 29 Sep 2010 14:40:49 +0000 (14:40 +0000)]
Add a test that I forgot to add with a previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115036
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 29 Sep 2010 10:45:43 +0000 (10:45 +0000)]
do not compare actual branch labels; this may fix llvm-gcc-x86_64-darwin10-cross-mingw32 buildbot too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115034
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 29 Sep 2010 10:12:08 +0000 (10:12 +0000)]
improve heuristics to find the 'and' corresponding to 'tst' to also catch opportunities on thumb2
added some doxygen on the way
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115033
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 07:25:03 +0000 (07:25 +0000)]
add some random notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115032
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 05:34:42 +0000 (05:34 +0000)]
merge all the llvm-gcc pieces together. Recommend that people try dragonegg if they care about fortran performance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115031
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 05:30:03 +0000 (05:30 +0000)]
prepare for new content.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115030
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 05:05:03 +0000 (05:05 +0000)]
fix rdar://
8490728 - llvm-mc rejects gpr64 form of 'movmskpd'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115029
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 04:55:40 +0000 (04:55 +0000)]
add assembler support for the cvtsd2sil/cvtsd2siq mnemonics, rdar://
8456382
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115027
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Wed, 29 Sep 2010 03:59:25 +0000 (03:59 +0000)]
MC-COFF: Fix test. IMAGE_SYM_CLASS_LABEL should never have been emitted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115024
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 03:43:43 +0000 (03:43 +0000)]
make the x86 mccode emitter emit the 0x67 and 0x66 prefix bytes in the same
order as cctools for diffability.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115022
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 03:33:25 +0000 (03:33 +0000)]
implement support for 32-bit address operands in 64-bit mode, which
are defined to emit the 0x67 prefix byte. rdar://
8482675
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115021
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Wed, 29 Sep 2010 03:13:41 +0000 (03:13 +0000)]
MC-COFF: Fix symbol storage class for globals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115020
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 02:57:56 +0000 (02:57 +0000)]
add basic avx support to the disassembler, also teach it about ssmem/sdmem
operands.
With this done, we can remove the _Int suffixes from the round instructions
without the disassembler blowing up. This allows the assembler to support
them, implementing rdar://
8456376 - llvm-mc rejects 'roundss'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115019
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 02:36:32 +0000 (02:36 +0000)]
add asmparser support for cvttpd2dq by removing some Int_ prefixes.
Clean up cvttps2dq by removing some redundant implementations of the
same instruction. rdar://
8456382
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115018
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 02:24:57 +0000 (02:24 +0000)]
implement rdar://
8456382 - cvtsd2si support, by removing some Int_ prefixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115017
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 01:50:45 +0000 (01:50 +0000)]
implement rdar://
8456378 and PR7557 - support for the fstsw,
an instruction that requires a WHOLE NEW wonderful kind of alias.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115015
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Sep 2010 01:42:58 +0000 (01:42 +0000)]
change the protocol TargetAsmPArser::MatchInstruction method to take an
MCStreamer to emit into instead of an MCInst to fill in. This allows the
matcher extra flexibility and is more convenient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115014
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 29 Sep 2010 01:14:47 +0000 (01:14 +0000)]
Rework comparison handling to set a register on true/false. This avoids
problems with phi-nodes in blocks that have hard and not virtual registers.
Accordingly update branch handling to compensate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115013
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 29 Sep 2010 00:50:57 +0000 (00:50 +0000)]
Remove unnecessary set ahead of time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115011
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Sep 2010 00:49:25 +0000 (00:49 +0000)]
Separate itinerary classes for mvn from mov; for tst / teq from cmp / cmn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115010
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 29 Sep 2010 00:49:09 +0000 (00:49 +0000)]
Remove assert, add comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115009
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Sep 2010 00:27:46 +0000 (00:27 +0000)]
Assign bitwise binary instructions different itinerary classes from ALU instructions such as add / sub.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115008
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 28 Sep 2010 23:50:49 +0000 (23:50 +0000)]
Add support to model pipeline bypass / forwarding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115005
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Sep 2010 23:24:18 +0000 (23:24 +0000)]
And remove r114997's test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115003
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Sep 2010 23:11:55 +0000 (23:11 +0000)]
Revert r114997. It was causing a failure on darwin10-selfhost.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115002
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 28 Sep 2010 22:47:54 +0000 (22:47 +0000)]
32-bit constant ints only for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115001
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Tue, 28 Sep 2010 22:39:14 +0000 (22:39 +0000)]
Removed a bunch of unnecessary target_link_libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114999
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Tue, 28 Sep 2010 22:38:39 +0000 (22:38 +0000)]
Simplified LLVMConfig.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114998
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Sep 2010 22:36:56 +0000 (22:36 +0000)]
Fix a FIXME. _foo.eh symbols are currently always exported so that the linker
knows about them. This is not necessary on 10.6 and later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114997
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 28 Sep 2010 22:07:19 +0000 (22:07 +0000)]
When an MDNode changes to become identical to another MDNode,
delete the MDNode that changed, rather than the other MDNode.
This is less work, because it doesn't require the changed node
to be re-inserted into the uniquing map and it doesn't require
the is-function-local flag to be recomputed. Also, it avoids
trouble when the existing node is part of a complicated
data structure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114996
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 28 Sep 2010 21:57:50 +0000 (21:57 +0000)]
Add a subtarget hook for reporting the misprediction penalty. Use this to provide more precise
cost modeling for if-conversion. Now if only we had a way to estimate the misprediction probability.
Adjsut CodeGen/ARM/ifcvt10.ll. The pipeline on Cortex-A8 is long enough that it is still profitable
to predicate an ldm, but the shorter pipeline on Cortex-A9 makes it unprofitable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114995
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 28 Sep 2010 21:55:34 +0000 (21:55 +0000)]
Integer materialization needed the same thinko change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114994
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 28 Sep 2010 21:40:26 +0000 (21:40 +0000)]
Resolve this GCC warning:
ARMTargetMachine.cpp:53: error: control reaches end of non-void function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114992
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 28 Sep 2010 21:39:26 +0000 (21:39 +0000)]
User proper libcall names & condcodes while compiling for ARM EABI.
Patch by Evzen Muller!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114991
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 28 Sep 2010 21:02:55 +0000 (21:02 +0000)]
Scope a varible inside an if statement, to make it clear that
it's not used afterwards.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114986
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 28 Sep 2010 20:42:15 +0000 (20:42 +0000)]
Give the if-converter access to MachineLoopInfo, and use it to generate plausible branch prediction
estimates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114981
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Sep 2010 18:54:43 +0000 (18:54 +0000)]
Fix spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114974
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 28 Sep 2010 18:32:13 +0000 (18:32 +0000)]
Part one of switching to using a more sane heuristic for determining if-conversion profitability.
Rather than having arbitrary cutoffs, actually try to cost model the conversion.
For now, the constants are tuned to more or less match our existing behavior, but these will be
changed to reflect realistic values as this work proceeds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114973
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 28 Sep 2010 18:18:36 +0000 (18:18 +0000)]
Make ConstantRange::makeICmpRegion handle all the edge cases properly. This
also fixes PR8250.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114972
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 28 Sep 2010 18:08:20 +0000 (18:08 +0000)]
Provide an interface to let FEs anchor debug info for types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114969
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 28 Sep 2010 17:10:36 +0000 (17:10 +0000)]
Add target triple info to these tests to make the results comparable when
hosted on different platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114965
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 28 Sep 2010 17:05:56 +0000 (17:05 +0000)]
Factor out dbg_value comment printing and teach MC asm printing to use it.
This should make the arm-linux self-host buildbot happy again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114964
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 28 Sep 2010 16:19:11 +0000 (16:19 +0000)]
On elf, undefined symbols can start with .L.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114958
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Tue, 28 Sep 2010 14:24:47 +0000 (14:24 +0000)]
Use the canonical library name for library PIC16Passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114953
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Tue, 28 Sep 2010 14:02:45 +0000 (14:02 +0000)]
Added library LLVMPIC16passes to CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114952
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Tue, 28 Sep 2010 14:02:36 +0000 (14:02 +0000)]
Added PTX target to the CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114951
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Tue, 28 Sep 2010 11:48:19 +0000 (11:48 +0000)]
Add ARM Disassembler to the CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114949
91177308-0d34-0410-b5e6-
96231b3b80d8
Che-Liang Chiou [Tue, 28 Sep 2010 10:06:53 +0000 (10:06 +0000)]
Remove trailing spaces of MipsMachineFunction.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114948
91177308-0d34-0410-b5e6-
96231b3b80d8
Che-Liang Chiou [Tue, 28 Sep 2010 09:55:24 +0000 (09:55 +0000)]
Remove trailing spaces of MipsTargetObjectFile.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114947
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 28 Sep 2010 04:18:29 +0000 (04:18 +0000)]
80-col fixups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114943
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 28 Sep 2010 04:09:35 +0000 (04:09 +0000)]
Add a command line option "-arm-strict-align" to disallow unaligned memory
accesses for ARM targets that would otherwise allow it. Radar
8465431.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114941
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 28 Sep 2010 01:21:42 +0000 (01:21 +0000)]
Rework builtin handling and call setup. The builtin handling
now takes a libcall operand, sets up the arguments correctly and
handles stack adjustments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114934
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 28 Sep 2010 00:35:33 +0000 (00:35 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114931
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 28 Sep 2010 00:35:09 +0000 (00:35 +0000)]
Fix fp constant loads to have a destination register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114930
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 27 Sep 2010 23:15:27 +0000 (23:15 +0000)]
Remove dead argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114920
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 27 Sep 2010 22:58:54 +0000 (22:58 +0000)]
Weight loop unrolling counts by nesting depth. Unrolling deeply nested loops tends to cause high
register pressure and thus excess spills, which we don't currently recover from well. This should
be re-evaluated in the future if our ability to generate good spills/splits improves.
Partial fix for <rdar://problem/
7635585>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114919
91177308-0d34-0410-b5e6-
96231b3b80d8