| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
| |
- Fix nonsensical logic in AssumeSymGE. When comparing 'sym >= constant' and the
constant is the maximum integer value, add the constraint that 'sym ==
constant' when the path is deemed feasible. All other cases are feasible.
- Improve AssumeSymGT. When comparing 'sym > constant' and constant is the
maximum integer value we know the path is infeasible.
- Add test case for this enhancement to AssumeSymGT.
llvm-svn: 60490
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Fix nonsensical logic in AssumeSymLE. When comparing 'sym <= constant' and the
constant is the minimum integer value, add the constraint that 'sym ==
constant' when the path is deemed feasible. All other cases are feasible.
- Improve AssumeSymLT to address <rdar://problem/6407949>. When comparing
'sym < constant' and constant is the minimum integer value we know the
path is infeasible.
- Add test case for <rdar://problem/6407949>.
llvm-svn: 60489
|
| |
|
|
|
|
|
| |
parts, and add target-independent code to add/preserve
MachineMemOperands.
llvm-svn: 60488
|
| |
|
|
| |
llvm-svn: 60487
|
| |
|
|
|
|
|
| |
the frame reference. This will help post-RA scheduling determine
that spills to distinct stack slots are independent.
llvm-svn: 60486
|
| |
|
|
| |
llvm-svn: 60485
|
| |
|
|
| |
llvm-svn: 60484
|
| |
|
|
| |
llvm-svn: 60483
|
| |
|
|
|
|
| |
a new node if the node was actually remapped.
llvm-svn: 60482
|
| |
|
|
|
|
| |
Print a single parameter .file directive if we have an ELF target.
llvm-svn: 60480
|
| |
|
|
| |
llvm-svn: 60479
|
| |
|
|
| |
llvm-svn: 60478
|
| |
|
|
|
|
| |
'dyn_cast'.
llvm-svn: 60477
|
| |
|
|
| |
llvm-svn: 60476
|
| |
|
|
| |
llvm-svn: 60471
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) have it fold "br undef", which does occur with
surprising frequency as jump threading iterates.
2) teach j-t to delete dead blocks. This removes the successor
edges, reducing the in-edges of other blocks, allowing
recursive simplification.
3) Fold things like:
br COND, BBX, BBY
BBX:
br COND, BBZ, BBW
which also happens because jump threading iterates.
llvm-svn: 60470
|
| |
|
|
| |
llvm-svn: 60469
|
| |
|
|
| |
llvm-svn: 60468
|
| |
|
|
|
|
| |
loop deletion (it is for a ton of passes), which is very bad.
llvm-svn: 60465
|
| |
|
|
|
|
|
| |
unconditionally delete the block. All likely clients will
do the checking anyway.
llvm-svn: 60464
|
| |
|
|
|
|
| |
DeleteBlockIfDead method.
llvm-svn: 60463
|
| |
|
|
|
|
| |
to external.
llvm-svn: 60462
|
| |
|
|
|
|
|
|
|
|
|
|
| |
foldMemoryOperand how to "fold" them, by converting them into constant-pool
loads. When they aren't folded, they use xorps/cmpeqd, but for example when
register pressure is high, they may now be folded as memory operands, which
reduces register pressure.
Also, mark V_SET0 isAsCheapAsAMove so that two-address-elimination will
remat it instead of copying zeros around (V_SETALLONES was already marked).
llvm-svn: 60461
|
| |
|
|
| |
llvm-svn: 60460
|
| |
|
|
|
|
|
|
|
| |
is set but mayLoad is not set. Fix all the problems this turned up.
Change code to not use isSimpleLoad instead of mayLoad unless it
really wants isSimpleLoad.
llvm-svn: 60459
|
| |
|
|
| |
llvm-svn: 60458
|
| |
|
|
| |
llvm-svn: 60457
|
| |
|
|
| |
llvm-svn: 60456
|
| |
|
|
|
|
| |
than just i32.
llvm-svn: 60455
|
| |
|
|
|
|
|
|
|
| |
delegates to the regular x86-32 convention which handles byval, but only
after it handles a few cases, and it's necessary to handle byval before
handling those cases. This fixes PR3122 (and rdar://6400815), llvm-gcc
miscompiling LLVM.
llvm-svn: 60453
|
| |
|
|
|
|
| |
Use an array instead of a DenseMap to cache persistent IDs -> IdentifierInfo*. This leads to a 4% speedup at -fsyntax-only using PTH.
llvm-svn: 60452
|
| |
|
|
| |
llvm-svn: 60451
|
| |
|
|
| |
llvm-svn: 60450
|
| |
|
|
| |
llvm-svn: 60449
|
| |
|
|
| |
llvm-svn: 60448
|
| |
|
|
|
|
|
|
| |
some of the internal methods are used by PTHLexer (their implementations are intertwined.) This enables some important inlining opportunities at -O3.
- Don't construct an std::vector<Token> prior to feeding PTH tokens to the Preprocessor. Stream them off the PTH file directly.
llvm-svn: 60447
|
| |
|
|
|
|
| |
used by clang apparently.
llvm-svn: 60446
|
| |
|
|
| |
llvm-svn: 60444
|
| |
|
|
|
|
|
|
|
|
|
| |
1. ppcf128 select is expanded to f64 select's.
2. f64 select operand 0 is an i1 truncate, it's promoted to i32 zero_extend.
3. f64 select is updated. It's changed back to a "NewNode" and being re-analyzed.
4. f64 select operands are being processed. Operand 0 is a "NewNode". It's being expunged out of ReplacedValues map.
5. ExpungeNode tries to remap f64 select and notice it's a "NewNode" and assert.
Duncan, please take a look. Thanks.
llvm-svn: 60443
|
| |
|
|
| |
llvm-svn: 60442
|
| |
|
|
| |
llvm-svn: 60441
|
| |
|
|
| |
llvm-svn: 60440
|
| |
|
|
|
|
| |
consistent with the way it's generally done in other places.
llvm-svn: 60439
|
| |
|
|
|
|
|
|
|
|
| |
- Incorporate Tilmann Scheller's ISD::TRUNCATE custom lowering patch
- Update SPU calling convention info, even if it's not used yet (but can be
at some point or another)
- Ensure that any-extended f32 loads are custom lowered, especially when
they're promoted for use in printf.
llvm-svn: 60438
|
| |
|
|
|
|
|
|
|
| |
- Added method "setPTHManager" that will be called by the driver to install
a PTHManager for the Preprocessor.
- Fixed some comments.
- Added EnterSourceFileWithPTH to mirror EnterSourceFileWithLexer.
llvm-svn: 60437
|
| |
|
|
|
|
| |
lazily create PTHLexer objects for pre-tokenized files.
llvm-svn: 60436
|
| |
|
|
|
|
|
|
|
| |
- Output 32 bit integers using bit-shifting + write of individual bytes.
This is motivated because we aren't guaranteed to load 32-bit ints of the mmaped PTH file at 4-byte offsets.
- Don't emit flags for IdentifierInfos. These are lazily populated by the Preprocessor/Parser.
- Only write out tokens for files with absolute paths. This is potentially temporary, but simplifies things for now.
llvm-svn: 60435
|
| |
|
|
| |
llvm-svn: 60434
|
| |
|
|
|
|
| |
splitting.
llvm-svn: 60433
|
| |
|
|
| |
llvm-svn: 60432
|