Nick Lewycky
4e671437ed
Remove dead variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126450 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 23:15:43 +00:00
Benjamin Kramer
9b61c550c2
SimplifyCFG: GEPs with constant indices are cheap enough to be executed unconditionally.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126445 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 22:46:11 +00:00
Joerg Sonnenberger
93c65e6e66
Restore r125595 (reverted in r126336) with modifications:
...
Introduce a variable in the AsmParserExtension whether [] is valid in an
expression. If it is true, parse them like (). Enable this for ELF only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126443 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 21:59:22 +00:00
Chris Lattner
12d18a07a0
remove command line option debugging hook.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126441 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 21:53:03 +00:00
Argyrios Kyrtzidis
8bef800aaa
In utils/TableGen/ClangSACheckersEmitter.cpp, set the 'Hidden' bit for checkers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126436 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 21:33:49 +00:00
Rafael Espindola
e9efea1194
Switch LTO to use MC. This takes the linking of libxul.so from about 7m to
...
6m30.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126426 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 21:04:06 +00:00
Devang Patel
f410608271
Enable DebugInfo support for COFF object files.
...
Patch by Nathan Jeffords!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126425 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 21:04:00 +00:00
Nadav Rotem
8c20ec54d9
Enable support for vector sext and trunc:
...
Limit the folding of any_ext and sext into the load operation to scalars.
Limit the active-bits trunc optimization to scalars.
Document vector trunc and vector sext in LangRef.
Similar to commit 126080 (for enabling zext).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126424 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 21:01:34 +00:00
Rafael Espindola
0412d5b40a
Fix llvm-gcc bootstrap with gnu ld.
...
The problem was codegen guessing the wrong values and printing
.section .eh_frame,"aMS",@progbits,4
It is not clear at all if Codegen should try to guess, MC is the
one that should know the default flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126421 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 20:18:01 +00:00
Devang Patel
3a96275200
Remove obsolete tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126402 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 19:09:52 +00:00
Devang Patel
3fe3424a21
Move arch specific tests in arch specific directories.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126401 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 19:06:27 +00:00
Chris Lattner
9992fcad68
fit in 80 cols.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126399 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 18:59:38 +00:00
Devang Patel
afd0d0e8a7
Do not use DIFactory. Use DIBuilder.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126398 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 18:49:55 +00:00
Devang Patel
0eea95d1cd
Do not use DIFactory.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126397 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 18:49:30 +00:00
Richard Osborne
21d7eb3f3b
Add XCore intrinsic for eeu instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126384 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 13:39:18 +00:00
NAKAMURA Takumi
027f98cd3b
test/lit.cfg: Add PATHEXT to 'substitution', to recognize tools on Windows hosts. Thanks to Danil Malyshev!
...
Some tests on Windows use the "not" utility and fail with an error "program not executable". The reason for this error is that the name of the executable file sended to the "not" without the extension.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126383 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 12:34:34 +00:00
Duncan Sands
f7e9ad7172
Rewrite the vector part of getExtendedTypeAction to make it more
...
understandable (at least I find it easier to understand like this).
No intended functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126382 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 11:54:18 +00:00
Benjamin Kramer
f26be1e965
Plug some leaks in edis.
...
- Don't leak parsed operands during tokenization.
- Don't leak printed insts in llvm-mc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126381 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 11:03:19 +00:00
Cameron Zwarich
8ca814c4e0
Merge information about the number of zero, one, and sign bits of live-out
...
registers at phis. This enables us to eliminate a lot of pointless zexts during
the DAGCombine phase. This fixes <rdar://problem/8760114>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126380 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 10:00:25 +00:00
Cameron Zwarich
9b6af8de58
Add a getNumSignBits() method to APInt.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126379 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 10:00:20 +00:00
Cameron Zwarich
324a24f6aa
Add a mechanism for invalidating the LiveOutInfo of a PHI, and use it whenever
...
a block is visited before all of its predecessors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126378 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 10:00:16 +00:00
Cameron Zwarich
a46cd97818
Track blocks visited in reverse postorder.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126377 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 10:00:13 +00:00
Cameron Zwarich
e1497b9791
Refactor the LiveOutInfo interface into a few methods on FunctionLoweringInfo
...
and make the actual map private.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126376 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 10:00:08 +00:00
Cameron Zwarich
2dbe2850d0
Have isel visit blocks in reverse postorder rather than an undefined order. This
...
allows for the information propagated across basic blocks to be merged at phis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126375 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 10:00:04 +00:00
Chris Lattner
afbf48363a
wire TargetLibraryInfo into simplify libcalls and use it in a couple of
...
trivial places. This pass needs a lot of work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126367 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 07:16:14 +00:00
Chris Lattner
e265ad8678
move a massive amount of code out into its own helper function
...
to reduce nesting. This needs to be turned into a table.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126366 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 07:12:12 +00:00
Chris Lattner
091b1e3c74
change instcombine to not turn a call to non-varargs bitcast of
...
function prototype into a call to a varargs prototype. We do
allow the xform if we have a definition, but otherwise we don't
want to risk that we're changing the abi in a subtle way. On
X86-64, for example, varargs require passing stuff in %al.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126363 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 05:10:56 +00:00
Evan Cheng
7558e2e415
Fix bug in X86 folding / unfolding table. Int_CMPSDrm and Int_CMPSSrm memory
...
operands starts at index 2, not 1.
rdar://9045024
PR9305
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126359 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 02:36:52 +00:00
Jakob Stoklund Olesen
b2597268c2
Use the same spill slot for all live ranges that descend form the same original
...
register.
This avoids some silly stack slot shuffling when both sides of a copy get
spilled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126353 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 01:07:55 +00:00
Michael J. Spencer
fae7f6de9e
Depricate PathV1::isAbsolute.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126348 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 01:02:32 +00:00
Devang Patel
3a4ae32ed7
Use DW_FORM_data2 for DW_AT_language and let users use DW_LANG_lo_user=0x8000 to DW_LANG_hi_user=0xffff range.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126339 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 22:37:04 +00:00
Devang Patel
1d6b2c74c0
Check only relevant strings in output to increase stability of the tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126338 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 22:35:57 +00:00
Jim Grosbach
f956183643
Remove file. Previous commit deleted content, but left the file around.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126337 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 21:43:31 +00:00
Jim Grosbach
33b7bebca4
Revert r125595, which is an X86-only undocumented assembly syntax extension
...
enabled for all targets. Non-X86 targets should not have this behavior
enabled by default.
Joerg, if you would like to resubmit with the behavior conditionalized to be
X86-ELF only, that's fine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126336 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 21:26:51 +00:00
Rafael Espindola
21451e533f
Put in the symbol table symbols only used in a .globl statement.
...
Fixes PR9292.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126330 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 20:22:07 +00:00
Richard Osborne
d04b4937d1
Add XCore intrinsic for clre instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126322 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 18:52:05 +00:00
Richard Osborne
9935bd0819
Add llvm.xcore.waitevent intrinsic. The effect of this intrinsic is to enable
...
events on the thread and wait until a resource is ready to event. The vector
of the resource that is ready is returned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126320 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 18:35:59 +00:00
Jakob Stoklund Olesen
c70f687dce
It is safe to ignore LastSplitPoint when the variable is not live out.
...
No code will be inserted after the split point anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126319 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 18:26:31 +00:00
Richard Osborne
292f62e06f
Add XCore intrinsic for the setv instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126315 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 16:46:37 +00:00
Richard Osborne
2254d0eaa1
Fix format for setc instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126314 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 15:20:16 +00:00
Richard Osborne
2a2cb28526
Add XCore intrinsic for settw instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126313 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 14:45:03 +00:00
Frits van Bommel
438208e8cb
Implement TODO for implicit C-array-to-ArrayRef conversion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126311 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 13:43:06 +00:00
Oscar Fuentes
7d83dc0424
Export TARGET_TRIPLE on LLVM.cmake. It is necessary for running tests
...
on Clang when it builds using LLVM as an external library.
Fixes PR9293.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126309 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 11:28:40 +00:00
Sean Callanan
8fbc00b5ba
Fixed a bug in the enhanced disassembler that caused
...
it to ignore valid uses of FS and GS as additional
base registers in address computations. Added a test
case for this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126302 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 03:31:28 +00:00
Sean Callanan
3894a795e6
Fixed a bug in the enhanced disassembly tester that
...
caused it to only parse one line of input.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126301 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 03:29:41 +00:00
Evan Cheng
2b943566f3
Change VFPNeonA8 definition to make the code easier to read.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126298 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 02:35:33 +00:00
Stuart Hastings
5129bdecd8
Omit private_extern declarations of extern symbols; followup to
...
r124468. Patch by Rafael Avila de Espindola!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126297 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 02:27:05 +00:00
Evan Cheng
e573fb3255
More fcopysign correctness and performance fix.
...
The previous codegen for the slow path (when values are in VFP / NEON
registers) was incorrect if the source is NaN.
The new codegen uses NEON vbsl instruction to copy the sign bit. e.g.
vmov.i32 d1, #0x80000000
vbsl d1, d2, d0
If NEON is not available, it uses integer instructions to copy the sign bit.
rdar://9034702
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126295 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 02:24:55 +00:00
Jakob Stoklund Olesen
d2a5073423
Keep track of how many times a live range has been dequeued, and prioritize new ranges.
...
When a large live range is evicted, it will usually be split when it comes
around again. By deferring evicted live ranges, the splitting happens at a time
when the interference pattern is more realistic. This prevents repeated
splitting and evictions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126282 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 00:56:56 +00:00
Jakob Stoklund Olesen
417df01291
Fix a bug in determining if there is only a single interfering register.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126277 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-23 00:29:55 +00:00