Cameron Zwarich
aa61fbeebb
We only want to zero extend the existing information if the bit width is
...
actually larger.
llvm-svn: 126464
2011-02-25 01:10:55 +00:00
Jakob Stoklund Olesen
9d328484ce
Try harder to get the hint by preferring to evict hint interference.
...
llvm-svn: 126463
2011-02-25 01:04:22 +00:00
Evan Cheng
fbdcea4b2e
Each prologue may have multiple vpush instructions to store callee-saved
...
D registers since the vpush list may not have gaps. Make sure the stack
adjustment instruction isn't moved between them. Ditto for vpop in
epilogues.
Sorry, can't reduce a small test case.
rdar://9043312
llvm-svn: 126457
2011-02-25 00:24:46 +00:00
Benjamin Kramer
44b43a85db
SimplifyCFG: GEPs with just one non-constant index are also cheap.
...
llvm-svn: 126452
2011-02-24 23:26:09 +00:00
Jakob Stoklund Olesen
4790d4c74b
Tweak the register allocator priority queue some more.
...
New live ranges are assigned in long -> short order, but live ranges that have
been evicted at least once are deferred and assigned in short -> long order.
Also disable splitting and spilling for live ranges seen for the first time.
The intention is to create a realistic interference pattern from the heavy live
ranges before starting splitting and spilling around it.
llvm-svn: 126451
2011-02-24 23:21:36 +00:00
Nick Lewycky
35539486f0
Remove dead variable.
...
llvm-svn: 126450
2011-02-24 23:15:43 +00:00
Benjamin Kramer
b5996b08b7
SimplifyCFG: GEPs with constant indices are cheap enough to be executed unconditionally.
...
llvm-svn: 126445
2011-02-24 22:46:11 +00:00
Joerg Sonnenberger
9c30c492df
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.
llvm-svn: 126443
2011-02-24 21:59:22 +00:00
Chris Lattner
55119c81aa
remove command line option debugging hook.
...
llvm-svn: 126441
2011-02-24 21:53:03 +00:00
Argyrios Kyrtzidis
1b1e152fc0
In utils/TableGen/ClangSACheckersEmitter.cpp, set the 'Hidden' bit for checkers.
...
llvm-svn: 126436
2011-02-24 21:33:49 +00:00
Rafael Espindola
58423e8aad
Switch LTO to use MC. This takes the linking of libxul.so from about 7m to
...
6m30.
llvm-svn: 126426
2011-02-24 21:04:06 +00:00
Devang Patel
f2b2417c2c
Enable DebugInfo support for COFF object files.
...
Patch by Nathan Jeffords!
llvm-svn: 126425
2011-02-24 21:04:00 +00:00
Nadav Rotem
ab7cf630f4
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).
llvm-svn: 126424
2011-02-24 21:01:34 +00:00
Rafael Espindola
3a1fd70006
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.
llvm-svn: 126421
2011-02-24 20:18:01 +00:00
Devang Patel
7f687d8790
Remove obsolete tests.
...
llvm-svn: 126402
2011-02-24 19:09:52 +00:00
Devang Patel
bac565c8a3
Move arch specific tests in arch specific directories.
...
llvm-svn: 126401
2011-02-24 19:06:27 +00:00
Chris Lattner
2f6f4a4788
fit in 80 cols.
...
llvm-svn: 126399
2011-02-24 18:59:38 +00:00
Devang Patel
29b946c0bd
Do not use DIFactory. Use DIBuilder.
...
llvm-svn: 126398
2011-02-24 18:49:55 +00:00
Devang Patel
e0f113c206
Do not use DIFactory.
...
llvm-svn: 126397
2011-02-24 18:49:30 +00:00
Richard Osborne
a8df984a31
Add XCore intrinsic for eeu instruction.
...
llvm-svn: 126384
2011-02-24 13:39:18 +00:00
NAKAMURA Takumi
ab9b1d65a4
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.
llvm-svn: 126383
2011-02-24 12:34:34 +00:00
Duncan Sands
760d1a03ba
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.
llvm-svn: 126382
2011-02-24 11:54:18 +00:00
Benjamin Kramer
feccb33180
Plug some leaks in edis.
...
- Don't leak parsed operands during tokenization.
- Don't leak printed insts in llvm-mc.
llvm-svn: 126381
2011-02-24 11:03:19 +00:00
Cameron Zwarich
724eb8706a
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>.
llvm-svn: 126380
2011-02-24 10:00:25 +00:00
Cameron Zwarich
af4779907f
Add a getNumSignBits() method to APInt.
...
llvm-svn: 126379
2011-02-24 10:00:20 +00:00
Cameron Zwarich
e79a75febe
Add a mechanism for invalidating the LiveOutInfo of a PHI, and use it whenever
...
a block is visited before all of its predecessors.
llvm-svn: 126378
2011-02-24 10:00:16 +00:00
Cameron Zwarich
5c9384705f
Track blocks visited in reverse postorder.
...
llvm-svn: 126377
2011-02-24 10:00:13 +00:00
Cameron Zwarich
3d2f99227a
Refactor the LiveOutInfo interface into a few methods on FunctionLoweringInfo
...
and make the actual map private.
llvm-svn: 126376
2011-02-24 10:00:08 +00:00
Cameron Zwarich
e49bf60392
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.
llvm-svn: 126375
2011-02-24 10:00:04 +00:00
Chris Lattner
e64e9c6f73
wire TargetLibraryInfo into simplify libcalls and use it in a couple of
...
trivial places. This pass needs a lot of work.
llvm-svn: 126367
2011-02-24 07:16:14 +00:00
Chris Lattner
d1bb8c0277
move a massive amount of code out into its own helper function
...
to reduce nesting. This needs to be turned into a table.
llvm-svn: 126366
2011-02-24 07:12:12 +00:00
Chris Lattner
72a2ebab6c
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.
llvm-svn: 126363
2011-02-24 05:10:56 +00:00
Evan Cheng
9db7b1367d
Fix bug in X86 folding / unfolding table. Int_CMPSDrm and Int_CMPSSrm memory
...
operands starts at index 2, not 1.
rdar://9045024
PR9305
llvm-svn: 126359
2011-02-24 02:36:52 +00:00
Jakob Stoklund Olesen
0f1be641db
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.
llvm-svn: 126353
2011-02-24 01:07:55 +00:00
Michael J. Spencer
3c784e25d6
Depricate PathV1::isAbsolute.
...
llvm-svn: 126348
2011-02-24 01:02:32 +00:00
Devang Patel
e8ade74a52
Use DW_FORM_data2 for DW_AT_language and let users use DW_LANG_lo_user=0x8000 to DW_LANG_hi_user=0xffff range.
...
llvm-svn: 126339
2011-02-23 22:37:04 +00:00
Devang Patel
dc0160e163
Check only relevant strings in output to increase stability of the tests.
...
llvm-svn: 126338
2011-02-23 22:35:57 +00:00
Jim Grosbach
d8032abf70
Remove file. Previous commit deleted content, but left the file around.
...
llvm-svn: 126337
2011-02-23 21:43:31 +00:00
Jim Grosbach
e7be1f2990
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.
llvm-svn: 126336
2011-02-23 21:26:51 +00:00
Rafael Espindola
993a4ef35c
Put in the symbol table symbols only used in a .globl statement.
...
Fixes PR9292.
llvm-svn: 126330
2011-02-23 20:22:07 +00:00
Richard Osborne
d9564589f6
Add XCore intrinsic for clre instruction.
...
llvm-svn: 126322
2011-02-23 18:52:05 +00:00
Richard Osborne
4a55817288
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.
llvm-svn: 126320
2011-02-23 18:35:59 +00:00
Jakob Stoklund Olesen
5edc1f287b
It is safe to ignore LastSplitPoint when the variable is not live out.
...
No code will be inserted after the split point anyway.
llvm-svn: 126319
2011-02-23 18:26:31 +00:00
Richard Osborne
aaac1b01fd
Add XCore intrinsic for the setv instruction.
...
llvm-svn: 126315
2011-02-23 16:46:37 +00:00
Richard Osborne
2374e9683e
Fix format for setc instruction.
...
llvm-svn: 126314
2011-02-23 15:20:16 +00:00
Richard Osborne
aa39bf94b4
Add XCore intrinsic for settw instruction.
...
llvm-svn: 126313
2011-02-23 14:45:03 +00:00
Frits van Bommel
68294aa16c
Implement TODO for implicit C-array-to-ArrayRef conversion.
...
llvm-svn: 126311
2011-02-23 13:43:06 +00:00
Oscar Fuentes
c5598c7531
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.
llvm-svn: 126309
2011-02-23 11:28:40 +00:00
Sean Callanan
e1308394f1
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.
llvm-svn: 126302
2011-02-23 03:31:28 +00:00
Sean Callanan
d7e66a8942
Fixed a bug in the enhanced disassembly tester that
...
caused it to only parse one line of input.
llvm-svn: 126301
2011-02-23 03:29:41 +00:00